1.下載MySQL安裝包(這里是有技巧的,說不定我這時寫這個的時候版本還是你看到時的舊版本了,如果已經不是8.0了,可以根據這樣來 下新版本)

先進入官網

再將這兩者一結合,就是最新版本的了
所以
[root@h1 ~]# rpm -ivh http://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
2.安裝mysql
1 [root@localhost ~]# yum install -y mysql-server 2 或 3 [root@localhost ~]# yum install mysql-community-server
如果顯示以下內容說明安裝成功
Complete!
3.設置mysql
設置開機啟動Mysql
[root@localhost ~]# systemctl enable mysqld.service
檢查是否已經安裝了開機自啟動
[root@localhost ~]# systemctl list-unit-files | grep mysqld
如果顯示以下內容說明已經完成自動啟動安裝
mysqld.service enabled
設置開啟服務
[root@localhost ~]# systemctl start mysqld.service
這里需要稍微注釋下:mysql8.0版本和以前版本的修改密碼方式不一樣
4.登錄修改mysql密碼
查看mysql默認密碼
[root@localhost ~]# grep 'temporary password' /var/log/mysqld.log
第一次登錄mysql,輸入賬號和默認密碼
[root@localhost ~]# mysql -uroot -p
修改當前密碼
#MySQL8.0修改密碼需要有大小寫字母、數字、特殊字符組合 mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
官方給的密碼修改說明
5. 命令立即執行生效
mysql>flush privileges;
補充:外網/客戶端訪問問題,比如navicat連接
解決方案,登錄MySQL,修改user表登錄用戶的host
#遠程設置 mysql> use mysql; mysql> update user set host='%' where user='root'; #授權用戶名的權限,賦予任何主機訪問數據的權限 mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION; mysql> FLUSH PRIVILEGES;
然后都ok后,又出現個錯誤2059,原因是安全端口未開放
mysql登錄用戶密碼設置好后,需要開發安全組端口,並且好像上面的不是mysql8.0版本,因為8.0版本的加密方式改變了,mysql8以后的加密規則為caching_sha2_password,所以我們需要將mysql用戶登錄的加密規則修改為mysql_native_password,且需要關閉防火牆的說,然后安全端口設置一個(注意,由於之前改了user,這里@"%")
mysql> ALTER USER 'root'@'%' IDENTIFIED BY 'Root!!2018' PASSWORD EXPIRE NEVER; Query OK, 0 rows affected (0.03 sec) mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'Root!!2018'; Query OK, 0 rows affected (0.01 sec) mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.00 sec)
1.關閉防火牆:sudo systemctl stop firewalld.service 2. 關閉開機啟動:sudo systemctl disable firewalld.service
並且,需要在 阿里雲控制台防火牆處,添加新的規則 開放3306端口
然后再連接,ok

補充:數據庫的相關操作
#啟動mysql
systemctl start mysqld.service
#結束
systemctl stop mysqld.service
#重啟
systemctl restart mysqld.service
#開機自啟
systemctl enable mysqld.service