1. 程式人生 > 其它 >centos8上安裝mysql5.6

centos8上安裝mysql5.6

1.下載5.6

選擇5.6.45,Red Hat Enterprise Linux,Linux 7

https://dev.mysql.com/downloads/mysql/5.6.html

直接地址:
https://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-5.6.45-1.el7.x86_64.rpm-bundle.tar

2.解壓

tar -xvf MySQL-5.6.45-1.el7.x86_64.rpm-bundle.tar

3.安裝

#先解除安裝
rpm -ev MySQL-client-5.6.45-1.el7.x86_64 --nodeps
rpm 
-ev MySQL-devel-5.6.45-1.el7.x86_64 --nodeps rpm -ev MySQL-server-5.6.45-1.el7.x86_64 --nodeps
找到殘留 一併刪除
find / -name mysql
#後安裝 rpm
-ivh MySQL-client-5.6.45-1.el7.x86_64.rpm rpm -ivh MySQL-devel-5.6.45-1.el7.x86_64.rpm rpm -ivh MySQL-server-5.6.45-1.el7.x86_64.rpm

安裝遇到
libncurses.so.5()(64bit) is needed by MySQL-client-5.6.47-1.el6.x86_64以及 libtinfo.so.5()(64bit) is needed by MySQL-client-5.6.47-1.el6.x86_64
安裝
yum install libtinfo*

yum install libncurses*


4.啟動

systemctl start  mysql
若啟動失敗,無許可權
mkdir -p /usr/bin/mysql

5.修改密碼

# 獲得密碼
cat /root/.mysql_secret

# 登入
mysql -uroot -p'上一步獲得的密碼'

# 修改密碼
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456');

6.授權

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY '123456' WITH GRANT OPTION;

7.問題

問題一:
版本5.6.45,[ERROR] Fatal error: Please read "Security" section of the manual to find out how to run mysqld as root!此處 mysql是出於安全考慮,預設拒絕用root賬號啟動mysql服務

1.通過在命令後面加上--user=root 進行強制使用root賬號啟動

mysqld --user=root

2.使用一個普通使用者進行啟動mysqld 。這個使用者必須是屬於mysqld使用者組,且在my.cnf檔案中。使用 vi /etc/my.cnf

加上user=mysql  進行指定mysql使用者來啟動mysql服務,或者直接加上user=root 

[設定許可權]

使用下面的命令檢視是否有mysql使用者及使用者組

$ cat /etc/passwd    #檢視使用者列表

$ cat /etc/group      #檢視使用者組列表

如果沒有就建立

$ groupadd mysql

$ useradd -g mysql mysql

修改/usr/local/mysqld許可權

$ chown -R mysql:mysql /usr/local/mysqld 
mysql使用者不可用

檢視Linux所有使用者的狀態資訊
cat /etc/passwd |awk -F’:’ ‘{print $1}’ |xargs -i passwd -S {}

#su mysql
發現無法切換,提示為:This account is currently not available
看看mysql的帳號資訊
#more /etc/passwd 
mysql:x:502:504::/home/mysql:/sbin/nologin
把shell是"/sbin /nologin",改成"/bin/bash" 即可
在linux安裝mysql重啟提示You must SET PASSWORD before executing this statement的解決方法

mysql> show databases;
ERROR 1820 (HY000): You must SET PASSWORD before executing this statement
mysql> SET PASSWORD = PASSWORD('123456');
Query OK, 0 rows affected (0.00 sec)

mysql> show databases;
5 rows in set (0.00 sec)
MySQL connector JAR包的下載位置及JDBC配置
https://www.cnblogs.com/zzycv/p/13772595.html