1. 程式人生 > >安裝MySQL8.0 遇到的3個小錯誤

安裝MySQL8.0 遇到的3個小錯誤

過去公司都是用的5.7 系列的MySQL,隨著8.0的發版,也想試著升級一下。遇到了兩個小錯誤,記錄在此。

路徑設定:

安裝包路徑:/data/mysql80/

資料路徑:

/data/mysql/

下面描述一下,我安裝時遇到的錯誤 和 問題解決方案:

問題1   Premission denied

因為 mysql80 安裝檔案 是我從其它Server上Copy過來的,不是官網下載解壓,所以,我在初始化MySQL  和 啟動MySQL 服務是報錯,提示許可權不夠。

初始化報錯:

啟動服務報錯 :

解決方案:

針對第一個錯誤,執行以下程式碼:

chmod -R 755 /data/mysql80/bin/

針對第二個錯誤,執行以下程式碼:

chmod -R 755 ./mysql.server   (這個檔案是 /data/mysql80/support-files)

和  

chmod -R 755 /etc/init.d/mysqld

問題2  ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'password('XXXXX')' at line 1

在登入MySQL,修改root密碼時,使用就方法 SET PASSWORD=PASSWORD(‘[新密碼]’) 報錯。

檢視網上的相關解釋為:

以前版本的MySQL的密碼認證外掛是“mysql_native_password”,而現在使用的是“caching_sha2_password”。

解決方案:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密碼';

FLUSH PRIVILEGES;

問題3 開啟遠端登入報錯,You are not allowed to create a user with GRANT

當開啟遠端登入時,提示錯誤資訊如下:

解決方案:

通過命令

select host,user,authentication_string,plugin from user;

檢視host 欄位值 確實限定為  localhost ;

則直接通過 命令 

update user set host = "%" where user='root';

直接修改。

驗證,可以遠端連線了。