把mysql部署在局域网的服务器上,远程连接mysql时报错误代码1130 Host ‘***.***.***.***’is not allowed to connect to this MySQL
==剛學習mysql的時候,知道DBMS分為兩類:
①基于文件共享的dbms(access)
②基于客戶機–服務器的DBMS(Mysql、Oracle),在使用客戶端時需要安裝服務端,數據也存儲在服務端
既然mysql安裝時直接安裝在本機時,服務端也在本機上裝著,我就考慮在機房找一臺電腦當作服務器,自己電腦上裝上SQLyog小海豚工具。遠程連接一下數據庫。
1、剛開始連接時,出現了以下錯誤:
錯誤代碼1130
Host ‘***.***.***.***’is not allowed to connect to this MySQL server
2、查明錯誤原因:
原因是MySQL默認不支持遠程連接,(那么phpMyAdmin為什么可以連接呢?那是因為phpMyadmin的環境是上傳到服務器的,其本身訪問數據庫是相當于本機localhost訪問的)
在創建mysql賬戶時,限制連接賬戶遠程登錄。也就是說,除了當前mysql所在的安裝服務器外,其他的ip(主機)都是不允許訪問的,即使你的用戶名和密碼是正確的。這時候就要修改用戶的訪問權限。
3、解決問題(指定主機來連接mysql)
3.1.通過命令行使用root用戶連接到mysql服務器,并進入mysql數據庫
輸入:mysql -h localhost -u root -p
== 然后輸入密碼,然后照著下面的代碼輸就ok了==
3.2.使用grant語句進行授權
all privileges:表示所有數據庫權限 on *.*:表示在所有表,視圖,函數等等,可以是具體的數據庫下的某個表,某個視圖。 如demoDB.testTable 'root'@172.16.48.65:表示允許root用戶從IP為172.16.48.65的主機連接mysql服務器。 identified by 'admin':表示root用戶從172.16.48.65遠程連接的密碼。with grant option:表示root從172.16.48.65主機連接后可以將權限再次使用grant語句將權限授予其他用戶。輸入如下代碼
mysql> grant all privileges on *.* to 'root'@172.16.48.65 identified by 'admin' with grant option ; Query OK, 0 rows affected (0.00 sec)3.3.刷新權限
mysql> flush privileges ; Query OK, 0 rows affected (0.00 sec)4、提升,讓任何主機都能連接mysql
可以輸入一下代碼:
mysql>GRANT ALL PRIVILEGES ON *.* TO ‘myuser’@'%’ IDENTIFIED BY ‘mypassword’ WITH GRANT OPTION;上述兩種都能連接局域網內任何主機上的mysql了
總結
以上是生活随笔為你收集整理的把mysql部署在局域网的服务器上,远程连接mysql时报错误代码1130 Host ‘***.***.***.***’is not allowed to connect to this MySQL的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 超详细Mysql的安装与卸载
- 下一篇: python中x,y=y,x的交换原理