首先執行下面三條命令:
sudo apt-get install mysql-server
sudo apt isntall mysql-client
sudo apt install libmysqlclient-dev
安裝成功后可以通過下面的命令測試是否安裝成功:
sudo netstat -tap | grep mysql
現在設置mysql允許遠程訪問,首先編輯文件/etc/mysql/mysql.conf.d/mysqld.cnf:
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
注釋掉bind-address = 127.0.0.1:
1:設置mysql的配置文件
/etc/mysql/my.cnf
找到 bind-address =127.0.0.1 將其注釋掉;//作用是使得不再只允許本地訪問;
也可以改成bind-address =0.0.0.0
重啟mysql:/etc/init.d/mysql restart;
2:在Linux端登錄mysql數據庫:mysql -u root -p
mysql> use mysql;
查詢host值:
mysql> select user,host from user;
如果沒有"%"這個host值,就執行下面這兩句:
mysql> update user set host='%' where user='root';
mysql> flush privileges;
這是修改后的情況
修改后測試了一下還是提示一樣的錯誤,后來發現其實是服務器的防火牆沒有關掉,在將防火牆關閉之后,就能正常連接了
附上防火牆的開啟/關閉方法
LINUX防火牆的打開與關閉方法
1) 重啟后生效
開啟: chkconfig iptables on
關閉: chkconfig iptables off
2) 即時生效,重啟后失效
開啟: service iptables start
關閉: service iptables stop
需要說明的是對於Linux下的其它服務都可以用以上命令執行開啟和關閉操作。
在開啟了防火牆時,做如下設置,開啟相關端口,
修改/etc/sysconfig/iptables 文件,添加以下內容:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT