准備工作
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端口
————————————————
版權聲明:本文為CSDN博主「our_times」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/our_times/article/details/98882701
