轉載:https://blog.csdn.net/qq_42881421/article/details/91981918
環境:
虛擬機的Ubuntu16.04
Windows系統下Navicat
本文主要介紹在Ubuntu16.04安裝MySQL,並用Window的Navicat連接到Ubuntu的MySQL
Ubuntu16.04安裝:
更新Ubuntu的apt
$ sudo apt update
安裝mysql
$ sudo apt install mysql-server
安裝過程中會提示我們設置MySQL root用戶的密碼,輸入密碼后,按tab鍵選中OK,回車確認
確認密碼,再輸入與上一步相同的密碼,按tab鍵選中OK,回車確認
安裝完成后,MySQL服務講自動被啟動,可以用如下命令查查看mysql正在運行
$ sudo netstat -tap | grep mysql
有類似如下輸出為安裝並啟動成功
如執行命令后無任何輸出,請檢查是否安裝好、確認mysql是否啟動(mysql的啟動命令為 $ service mysql start)
用navicat連接mysql:
打開navicat(需先在Windows下安裝好),點擊連接
輸入 虛擬機IP 和 MySQL密碼 ,點擊左下角的 測試連接
會有如下報2003錯誤
接下來解決報錯
修改mysqld.cnf文件,注釋掉bind-address = 127.0.0.1一行,注釋方法:在行首添加 # 號
$ sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
找到bind-address = 127.0.0.1一行,如下
添加 # 號注釋后截圖如下:
重啟Ubuntu MySQL服務
$ sudo service mysql restart
點擊 Navicat的連接測試,報錯如下:
解決過程如下:
進入mysql命令行
$ mysql -u root -p
輸入MySQL密碼,進入到mysql命令行,按如下步驟進行設置
mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> select 'host' from user where user='root';
+------+
| host |
+------+
| host |
+------+
1 row in set (0.00 sec)
mysql> update user set host = '%' where user ='root';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> select 'host' from user where user='root';
+------+
| host |
+------+
| host |
+------+
1 row in set (0.00 sec)
mysql>
mysql> quit;
Bye
再次點擊Navicat的連接測試,提示連接成功
參考鏈接:
解決2003錯誤參考:https://www.cnblogs.com/ruofengzhishang/p/5477502.html
解決1130錯誤參考:https://www.cnblogs.com/dulixiaoqiao/p/7040078.html
原本連接很快的mysql服務器,連接速度奇慢。以前幾十毫秒的連接現在完成一次要近5秒鍾,在排除了網絡問題后,只有從mysql下手。原來每次訪問db,mysql就會試圖去解析來訪問的機器的domain name,如果這時解析不料,等一段時間會失敗,數據才能被取過來。解決方法如下:
修改 my.cnf
[mysqld]
skip-name-resolve #Don’t resolve hostnames
重啟,問題解決。