mysqlfront连接MySQL错误_使用MySql-Front远程连接MySQL失败的解决办法
新安裝的mysql默認是root用戶,且密碼為空,默認端口是3306。通過SSH可以連接并且登錄,但是使用MySQL-Front等客戶端連接失敗。
解決辦法:
1.確認Linux防火墻3306端口打開。
在/etc/sysconfig/iptables文件中,添加一行:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
重啟:server iptables restart;
2.首先查看遠程的user表(在mysql用戶下)
發現mysql只允許通過本地(localhost)登錄。
mysql> select host,user from mysql.user;
+-----------------+-------+
| host ? ? ? ? ? ?| user ?|
+-----------------+-------+
| 127.0.0.1 ? ? ? | root ?|
| fc51a71b7504538 | ? ? ? |
| fc51a71b7504538 | root ?|
| localhost ? ? ? | ? ? ? |
| localhost ? ? ? | root ?|
+-----------------+-------+
3.修改root登錄權限(強烈不建議如此做,否則會帶來嚴重的安全風險)
mysql>?update mysql.user set host = '%' where user = 'root';
或者
mysql> grant select,update,insert,delete on test.* to root@localhost identified by "123456";
或者
mysql> grant select,update,insert,delete on test.* to root@% identified by "123456";
或者
mysql> grant select,update,insert,delete on test.* to root@ip?identified by "123456";
flush privileges; ?--寫入權限表
這樣就可以通過root和密碼123456來訪問了。
4.上面的操作風險太大,不建議,我們應該新創建一個用戶:
mysql> grant select,update,insert,delete on test.* to scott@localhost identified by "123456";
flush privileges; ?--寫入權限表
這句命令的意思是:新建用戶scott,并且只允許該用戶在本地(localhost)登錄,密碼是123456,并且賦予它對mas庫中所有表select,update,insert的權限。我們在這有一個mas庫,所以用mas.*代表mas庫下的所有表。如果要對所有的表,包括mysql庫的表都有操作權限則可以替換成“*.*”.
現在該scott用戶,已經可以登錄mysql了,但是也還是只能本地登錄。若要duan用戶可以遠程登錄mysql,則還需要如下命令:
mysql> update user set host = '%' where user = 'scott';
現在我們再查看mysql的管理庫:
mysql> select host,user from mysql.user;
+-----------------+-------+
| host ? ? ? ? ? ?| user ?|
+-----------------+-------+
| % ? ? ? ? ? ? ? | scott |
| 127.0.0.1 ? ? ? | root ?|
| fc51a71b7504538 | ? ? ? |
| fc51a71b7504538 | root ?|
| localhost ? ? ? | ? ? ? |
| localhost ? ? ? | root ?|
+-----------------+-------+
即可通過scott和密碼123456來訪問。
注意:
如果還是不行,則重啟mysql:
service mysqld stop;
service mysqld start;
service mysqld status; --查看狀態
有時候通過 % 不一定能訪問,會發生:
SQLException: access denied for? @'10.44.55.195.' (using password: no)
則上面的語句可以改為:
mysql> grant select,update,insert,delete on test.* to scott@10.44.55.195 identified by "123456";
(10.44.55.195其實是客戶端的ip)
但是,優先用%。務必務必!
取消賦權的語句是:
revoke all on mysql.* from root@10.44.55.195;
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的mysqlfront连接MySQL错误_使用MySql-Front远程连接MySQL失败的解决办法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【OpenCV 例程200篇】12. 图
- 下一篇: linux 双网卡 debian,Deb