centos8上安裝mysql5.6
阿新 • • 發佈:2021-11-01
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