Ubuntu18.04 安裝 mysql5.7
阿新 • • 發佈:2018-12-15
1.解除安裝
完全刪除MySQL 5.7,沒有安裝的朋友可跳過此階段
1. 1 刪除MySQL的相關檔案及其子目錄
sudo apt-get remove mysql-*
1.2 清理殘留的資料
dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P
2. 安裝
# 安裝mysql服務 sudo apt-get install mysql-server # 安裝客戶端 sudo apt install mysql-client # 安裝依賴 sudo apt install libmysqlclient-dev # 檢查狀態 sudo netstat -tap | grep mysql
3. 配置root密碼
注意:MySQL5.7安裝時不會提示配置密碼和使用者名稱,可通過輸入mysql直接進入,原因:root的plugin被修改成了auth_socket,用密碼登陸的plugin應該是mysql_native_password,直接用root許可權登入就不用密碼,修改root密碼和登入驗證方式
3.1檢視mysql初始的使用者、密碼及登入驗證方式
root> mysql Welcome to the MySQL monitor. Commands end with ; or \g. ...... mysql> select user, authentication_string,plugin from user; +------------------+-------------------------------------------+-----------------------+ | user | authentication_string | plugin | +------------------+-------------------------------------------+-----------------------+ | root | | auth_socket | | mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | | mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | | debian-sys-maint | *C58EEC8342F164C89DFA6128785719DE1AC73DAE | mysql_native_password | +------------------+-------------------------------------------+-----------------------+ 4 rows in set (0.00 sec)
如上可知mysql初始的root使用者沒有密碼且plugin為auth_socket這種方式
3.2設定密碼和登入驗證方式
mysql> update mysql.user set authentication_string=PASSWORD('123456'), plugin='mysql_native_password' where user='root'; mysql> flush privileges; mysql> exit Bye # exit $ sudo /etc/init.d/mysql restart $ mysql -uroot -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.7.22-0ubuntu18.04.1 (Ubuntu) Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
4. 配置MySQL遠端登入
# 修改配置檔案,註釋掉bind-address = 127.0.0.1
$ sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
# 儲存退出,然後進入mysql服務,執行授權命令:
$ mysql -uroot -p
mysql> grant all on *.* to [email protected]'%' identified by '123456' with grant option;
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> exit
Bye
$ sudo /etc/init.d/mysql restart