一.準備:
1.使用遠程連接工具登錄Linux(centOS7)系統;
2.卸載系統自帶mysql(方法請自行網查);
3.新建mysql文件夾;
4.MySQL8.0安裝包:
鏈接:https://pan.baidu.com/s/1FfRSJT8M4Eb4o24luhfW9w
提取碼:b98h
5.將下載到的文件上傳到新建的mysql文件夾內(上傳命令:[****@localhost local]# rz)。
二.開始:
1.解壓文件:
tar -xvf mysql-8.0.18-1.el7.x86_64.rpm-bundle.tar
得到以下文件:
1.卸載衝突的RPM組件
在我們安裝mysql相關組件的時候,如果不將此衝突的組件刪除掉,我們是安裝不成功的。
查看postfix和mariadb-libs相關的組件版本:rpm -qa | grep postfix
rpm -qa | grep mariadb
卸載:
rpm -e --nodeps postfix-2.10.1-6.el7.x86_64
rpm -e --nodeps mariadb-libs-5.5.52-1.el7.x86_64
2.安裝依賴:
yum -y install libaio
yum -y install net-tools
yum -y install perl
3:安裝Mysql組件:
因爲具有依賴關係,所以我們需要按順序執行,順序如下:
rpm -ivh mysql-community-common-8.0.18-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.18-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.18-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.18-1.el7.x86_64.rpm
安以以上組件即可。
默認數據存儲路徑/var/lib/mysql 配置文件路徑/etc/my.cnf。
4:啓動mysql:
查看mysql是否啓動:service mysqld status
啓動mysql:service mysqld start
停止mysql:service mysqld stop
重啓mysql:service mysqld restart
啓動狀態如下圖:
5.修改mysql密碼:
1) mysql安裝完成之後我們是沒有設置密碼的,但是mysql爲我們設置了一個臨時的密碼,我們可以查看mysql的日誌知道這個臨時密碼:
查看臨時密碼:grep password /var/log/mysqld.log
得到臨時密碼爲:o.4.R<aakjJ5
2) 命令:mysql -p 登錄mysql,密碼爲剛得到的臨時密碼(區分大小寫):o.4.R<aakjJ5
3)修改密碼(mysql8密碼設置規則爲密碼需由大小寫英文、數字、特殊符號):
ALTER user 'root'@'localhost' IDENTIFIED BY 'mysqlPwd@123';
4) 由於mysql8相較之前版本密碼加密有所改變,因此我們需要修改加密規則,
一開始鄙人未修改,出現使用navcat連接時,報錯1521:
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密碼' PASSWORD EXPIRE NEVER; #修改加密規則
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密碼'; #更新一下用戶的密碼
FLUSH PRIVILEGES; #刷新權限
注意:
在修改加密規則之前需要查看你的root用戶下的host是否修改過
查看方法:
先登錄mysql
mysql -u root -p
輸入密碼
mysql> use mysql;
mysql> select user,host from user;
如上roo對應host爲%是因爲我之前修改過遠程訪問權限(後邊會講到):
出現以上內容或者執行命令時提示以下錯誤:
ERROR 1396 (HY000): Operation ALTER USER failed for 'root'@'localhost'
需將'localhost'改爲'%'方可執行。
至此 mysql8.0安裝以及修改密碼設置完成。
6.設置允許遠程連接:
mysql -u root -p
use mysql;
update user set host = '%' where user = 'root';
flush privileges;
至此,應該明白,剛剛爲什麼修改加密規則時執行命令報錯或者爲什麼你的root用戶的host爲“%”,可能你提前執行了這一步,然後自己又忘了。
以下部分原文
7.防火牆開發3306端口:
以上配置完畢後,需要將3306端口開放,才能使用Navcat連接:
1)查看 firewalld 狀態
systemctl status firewalld
2)開啓 firewalld
systemctl start firewalld
3)開放端口
// --permanent 永久生效,沒有此參數重啓後失效
firewall-cmd --zone=public --add-port=3306/tcp --permanent
4)重新載入
firewall-cmd --reload
5)查看是否開啓成功(返回:yes即表示成功)
firewall-cmd --zone=public --query-port=80/tcp
6)刪除
firewall-cmd --zone=public --remove-port=3306/tcp --permanent