第一次在Linux環境下配置mysql,還真是曲折,所以特此記錄
Step1:下載安裝MySQL
終端輸入:sudo apt-get install mysql-server mysql-client
Step2:確認MySQL所在主機的地址
終端輸入:ifconfig,eth0的inet 地址即是
然後遠端連線以上ip的3306連接埠(如果沒改過的話),如果順利連上當然就ok了,如果連不上,則可能存在以下問題:
【錯誤2003】:
該錯誤是由於MySQL的配置中開啟了IP綁定,只允許本機(127.0.0.1)訪問,所以需要修改這個配置。
sudo vi /etc/mysql/my.cnf
找到bind-address = 127.0.0.1這一行,將其注釋(行首加#號)
儲存退出,重啟MySQL服務
sudo /etc/init.d/mysql restart
【錯誤1130】:
該錯誤是由於遠程登陸時所使用的帳號沒有授權在當前IP登陸,說白了就是每個帳號都有一個或者多個允許登陸的IP,例如root帳號預設就有localhost和127.0.0.1,但是遠
程機器的IP沒有被允許,所以這裡要給使用的帳號添加該IP登陸的許可權
首先看看這個帳號有哪些IP登陸的許可權
Ubuntu終端下登陸mysql
輸入mysql -u root -p
輸入密碼
登陸成功後輸入命令:
1.use mysql
2.select Host from user where user='要查詢的使用者名稱,例如root'
查詢結果將列出使用者root允許登陸的IP,當前遠程機報錯1130,就是因為其IP不被允許。所以為了遠程登陸,有兩種選擇,第一種選擇是將遠程機的IP加入,第二種選擇是直接加入一個任意IP(%號),任何遠程地址都可以訪問,看需求而定
加入方法:
因為複製一整條記錄的語句太長,很麻煩,所以乾脆把localhost和127.0.0.1其中一個改為需要允許存取的地址
例如:
update user set Host='%' where Host='127.0.01';(注意結尾分號)
這樣就將host=127.0.0.1的這條記錄的host改為%(代表任意ip)
然後
flush privileges;(注意結尾分號)這句是用來重新整理許可權的
接著重啟MYSQL服務
sudo /etc/init.d/mysql restart