安裝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';
直接修改。
驗證,可以遠端連線了。