編碼的世界 / 優質文選 / 歷史

Centos7安裝mysql8.0教程


2021年9月16日
-   

准備工作
1.查看是否有安裝過mysql
rpm -qa | grep -i mysql

2.刪除mysql
yum -y remove MySQL-*

一般用rpm -e 的命令刪除mysql,這樣表面上刪除了mysql,可是mysql的一些殘餘程序仍然存在,並且通過第一步的方式也查找不到殘餘,而yum命令比較強大,可以完全刪除mysql.(ps:用rpm刪除後再次安裝的時候會提示已經安裝了,這就是rpm沒刪除幹淨的原因)
3.把所有出現的目錄統統刪除
find / -name mysql

查找mysql的一些目錄,把所有出現的目錄刪除,可以使用rm -rf 路徑,刪除時請注意,一旦刪除無法恢複。
4.刪除配置文件
rm -rf /etc/my.cnf

5.刪除mysql的默認密碼
rm -rf /root/.mysql_sercret

刪除mysql的默認密碼,如果不刪除,以後安裝mysql這個sercret中的默認密碼不會變,使用其中的默認密碼就可能會報類似Access denied for user ‘root@localhost’ (using password:yes)的錯誤.
五步完成之後,這樣mysql就全部刪除幹淨了,若沒安裝過mysql可忽略以上步驟
1.配置Mysql 8.0安裝源
sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

2.安裝Mysql 8.0
sudo yum enablerepo=mysql80-community install mysql-community-server

提示下載插件選擇:y
看到complet(完畢)就是安裝完啦
4.啟動mysql服務
sudo service mysqld start

顯示如下:
啟動完成
5.查看mysql服務運行狀態
service mysqld status

顯示如下:
6.查看root臨時密碼
安裝完mysql之後,會生成一個臨時的密碼讓root用戶登錄
grep "A temporary password" /var/log/mysqld.log


7.更改臨時密碼
輸入:mysql -uroot -p 在Enter password:後面輸入臨時密碼 登錄成功 輸入:ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘new password’; 會提示:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements(密碼不符合當前策略) 方案1: 設置符合策略的密碼(大小寫字母+數據+符號) 方案2:密碼策略改簡單一點
方案2設置方式
  • 先看看當前的密碼驗證策略

  • 輸入:SHOW VARIABLES LIKE ‘validate_password.%’;


  • 策略說明 validate_password.length 是密碼的最小長度,默認是8,我們把它改成6 輸入:set global validate_password.length=6; validate_password.policy 驗證密碼的複雜程度,我們把它改成0 輸入:set global validate_password.policy=0; validate_password.check_user_name 用戶名檢查,用戶名和密碼不能相同,我們也把它關掉 輸入:set global validate_password.check_user_name=off;

  • 再執行修改密碼的命令 輸入:ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘12345’; 密碼設成功

  • 用mysql客戶連接報不允許連接的錯誤,那是因為沒開通遠程訪問的權限
    7.配置遠程訪問
    輸入:GRANT ALL ON . TO ‘root’@’%’;
    報錯: mysql> GRANT ALL ON . TO ‘root’@’%’; ERROR 1410 (42000): You are not allowed to create a user with GRANT
    看下默認MySQL用戶: 輸入:use mysql; 輸入:select host, user, authentication_string, plugin from user; 發現root的host是localhost,不是%,可以加個host是%的root賬號: 輸入:CREATE USER ‘root’@’%’ IDENTIFIED BY ‘KC$abc123’;
    再查下用戶 輸入:select host, user, authentication_string, plugin from user; 可以看到已經新增了host為%的root用戶
    輸入:GRANT ALL ON . TO ‘root’@’%’; 配置成功
    8.客戶端連接mysql報錯
    原因是mysql8的加密方式規則不一樣,是caching_sha2_password 需要加密方式改成mysql_native_password就行了 語法:ALTER USER ‘[用戶名]’@’%’ IDENTIFIED WITH mysql_native_password BY ‘[密碼]’; 輸入:ALTER USER ‘root’@’%’ IDENTIFIED WITH mysql_native_password BY ‘root’; 加密方式以及改成了mysql_native_password
    9.客戶端連接mysql還報錯
  • 查看防火牆狀態,關閉狀態
  • 阿裏雲需要開放3306端口
  • 熱門文章