Ubuntu18 安裝 MySQL 8.0.22

履霜發表於2020-12-12

Ubuntu18 安裝 MySQL 8.0.22

網上教程都比舊,也不是第一次安裝了,但依然還是花了比較多的時間,特此記錄本次安裝過程。因是安裝完畢後回憶記錄,或有錯漏。

第一步:

下載 mysql apt 配置檔案: https://dev.mysql.com/downloads/repo/apt/

第二步:

啟動 mysql 配置: sudo dpkg -i mysql-apt-config_0.8.16-1_all.deb, 檔名稱可能會變化。

第三步

選擇 MySQL Server & Cluster, 回車,繼續選擇 mysql 8, 回到最開始的頁面後,下移選擇 "ok"

第四步

sudo apt-get update

第五步

安裝mysql: sudo apt-get install mysql-server

第六步

啟動mysql: service mysql start

第七步

進入MySQL: sudo mysql -u root -p

無需輸入密碼,直接回車。

第八步

可選,本人將 mysql 庫下 user 表 host, authentication_string 修改為 "%", "123"

use mysql;
update user set host='%',authentication_string='123' where user='root';
flush privileges;

修改後檢視 user 使用者資訊:

select user,host,authentication_string,plugin from user where user = 'root' \G;
*************************** 2. row ***************************
                 user: root
                 host: %
authentication_string: 123
               plugin: auth_socket

第九步

修改 /etc/mysql/mysql.conf.d/mysqld.cnf 檔案, 在 "[mysqld]" 下增加引數:

bind-address = 0.0.0.0
port=3306
# skip-grant-tables

並重啟 mysql。

重啟 mysql: service mysql restart

檢視 mysql 狀態: service mysql status

停止mysql: service mysql stop

啟動mysql: service mysql start

第十步

發現登入 mysql 必須使用 sudo, workbench連線不上,打算建立新使用者來解決問題:

// 建立新使用者, 發現報錯, 密碼不符合要求,打算修改密碼校驗規則
CREATE USER 'tony'@'%' IDENTIFIED BY '123';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
// 檢視密碼校驗規則, 展示的密碼規則是修改後的規則
mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+--------+
| Variable_name                        | Value  |
+--------------------------------------+--------+
| validate_password_check_user_name    | ON     |
| validate_password_dictionary_file    |        |
| validate_password_length             | 3      |
| validate_password_mixed_case_count   | 0      |
| validate_password_number_count       | 0      |
| validate_password_policy             | MEDIUM |
| validate_password_special_char_count | 0      |
+--------------------------------------+--------+
// 修改密碼校驗規則全域性變數
set global validate_password_length=3;
set global validate_password_mixed_case_count=0;
set global validate_password_number_count=0;
set global validate_password_special_char_count=0;
// 重新建立使用者,任何地方都可連線: '%', 密碼: '123'
CREATE USER 'tony'@'%' IDENTIFIED BY '123';
// 授予所有許可權,並重新整理
GRANT ALL PRIVILEGES ON * . * TO 'tony'@'%';
flush privileges;

再次使用 WorkBench 能連線上了。

檢視使用者 "tony" 資訊:

*************************** 1. row ***************************
                 user: tony
                 host: %
authentication_string: *23AE809DDACAF96AF0FD78ED04B6A265E05AA257
               plugin: mysql_native_password
*************************** 2. row ***************************

登入mysql:

mysql -u tony -p
password: 123

相關文章