本文目錄一覽:
- 1、如何讓mysql數據庫允許被遠程連接訪問
- 2、MYSQL數據庫遠程連接權限
- 3、服務器mysql怎麼配置才能遠程連接
- 4、怎麼配置MySQL數據庫讓別人遠程訪問
- 5、mysql 遠程連接數據庫的方法集合
如何讓mysql數據庫允許被遠程連接訪問
一、連接遠程數據庫:
1、顯示密碼
如:MySQL 連接遠程數據庫(192.168.5.116),端口「3306」,用戶名為「root」,密碼「123456」
C:/mysql -h 192.168.5.116 -P 3306 -u root -p123456
2、隱藏密碼
如:MySQL 連接本地數據庫,用戶名為「root」,
C:/mysql -h localhost -u root -p
Enter password:
二、配置mysql允許遠程鏈接
默認情況下,mysql帳號不允許從遠程登陸,只能在localhost登錄。本文提供了二種方法設置mysql可以通過遠程主機進行連接。
一、改表法
在localhost登入mysql後,更改 “mysql” 數據庫里的 “user” 表裡的 “host” 項,將”localhost”改稱”%”
例如:
#mysql -u root -p
Enter password:
……
mysql
mysqlupdate user set host = ‘%’ where user = ‘root’;
mysqlselect host, user from user;
二、授權法
例如: 你想myuser使用mypassword(密碼)從任何主機連接到mysql服務器的話。
mysqlGRANT ALL PRIVILEGES ON *.* TO ‘myuser’@’%’IDENTIFIED BY ‘mypassword’ WITH GRANT OPTION;
如果你想允許用戶myuser從ip為192.168.1.6的主機連接到mysql服務器,並使用mypassword作為密碼
mysqlGRANT ALL PRIVILEGES ON *.* TO ‘myuser’@’192.168.1.3’IDENTIFIED BY
‘mypassword’ WITH GRANT OPTION;
mysqlFLUSH PRIVILEGES
使修改生效,就可以了
常見問題:
1、在採用法二授權法之後,無法在本地登錄mysql(如:#mysql -u root -p -h 192.168.5.116
Enter password:
ERROR 1045 (28000): Access denied for user ‘root’@’loadb116’ (using password: YES)
上例中loadb116是主機名.
解決方法:
1、這時可以使用:mysql -u root -p 登錄,進入到mysql後。
mysql grant all privileges on *.* to ‘root’@’loadb116’
identified by ‘123456’ with grant option;
Query OK, 0 rows affected (0.00 sec)
mysql flush privileges;
Query OK, 0 rows affected (0.00 sec)
2、在本地使用ip地址登錄
# mysql -u root -p -h 192.168.5.116
Enter password:
Welcome to the MySQL monitor. Commands end with ; or /g.
Your MySQL connection id is 60
Server version: 5.1.45 MySQL Community Server (GPL)
Type ‘help;’ or ‘/h’ for help. Type ‘/c’ to clear the buffer.
mysql
MYSQL數據庫遠程連接權限
注釋掉MySQL配置文件中的 bind-address=127.0.0.1 #僅可以本地登錄
重啟數據庫
如果不行,再執行
GRANT ALL PRIVILEGES ON *.* TO ‘root’@’localhost’ IDENTIFIED BY ‘youpassword’ WITH GRANT OPTION;
FLUSH PRIVILEGES;
有時候MySQL數據庫遠程登錄用戶必須添加 任意主機 與本地主機 (用戶權限,密碼等一樣)才可以遠程登錄 !
服務器mysql怎麼配置才能遠程連接
設置mysql數據庫遠程連接:
Windows系統
1、 停止mysql的服務。
2、 進入命令窗口,然後進入MySQL的安裝目錄,比如我的安裝目錄是c:\mysql,進入c:\mysql\bin
3、 進入mysql數據庫服務器
c:\mysql\binmysql –u root –p hkgt123
4、 選中數據庫mysql :use mysql
5、 查詢mysql數據庫中的用戶:
Select host,user,password from mysql;
6、 授權給root用戶可以從任何主機使用密碼為』hkgt123』登錄MYSQL數據庫:
GRANT ALL PRIVILEGES ON *.* TO root@』%』 IDENTIFIED BY 『hkgt123』 WITH GRANT OPTION;
7、 提交:commit;
8、 刷新權限:flush privileges;
怎麼配置MySQL數據庫讓別人遠程訪問
有三種方法:
方法一(不推薦)、本地登入mysql,更改 “mysql” 數據庫里的 “user” 表裡的 “host” 項,將”localhost”改為”%”
#mysql -u root -proot
mysqluse mysql;
mysqlupdate user set host = ‘%’ where user = ‘root’;
mysqlselect host, user from user;
方法二、直接授權(推薦)
從任何主機上使用root用戶,密碼:youpassword(你的root密碼)連接到mysql服務器:(首先登陸Linux服務器,填寫下面代碼即可)
[root@localhost software]# mysql -u root -proot
mysqlGRANT ALL PRIVILEGES ON *.* TO ‘root’@’%’ IDENTIFIED BY ‘youpassword’ WITH GRANT OPTION;
mysqlFLUSH PRIVILEGES;
操作完後切記執行以下命令刷新權限
FLUSH PRIVILEGES;
方法三:終極方法
注釋bind-address = 127.0.0.1
找到mysql.cnf
把bind-address = 127.0.0.1 前面加上 #
即 #bind-address = 127.0.0.1
mysql 遠程連接數據庫的方法集合
1、改表法。可能是你的帳號不允許從遠程登陸,只能在localhost。這個時候只要在localhost的那台電腦,登入mysql後,更改
“mysql”
數據庫里的
“user”
表裡的
“host”
項,從”localhost”改稱”%”
複製代碼
代碼如下:
mysql
-u
root
-pvmwaremysqluse
mysql;
mysqlupdate
user
set
host
=
‘%’
where
user
=
‘root’;
mysqlselect
host,
user
from
user;
2、授權法。例如,你想myuser使用mypassword從任何主機連接到mysql服務器的話。
GRANT
ALL
PRIVILEGES
ON
*.*
TO
‘myuser’@’%’IDENTIFIED
BY
‘mypassword’
WITH
GRANT
OPTION;
如果你想允許用戶myuser從ip為192.168.1.6的主機連接到mysql服務器,並使用mypassword作為密碼
GRANT
ALL
PRIVILEGES
ON
*.*
TO
‘myuser’@’192.168.1.3’IDENTIFIED
BY
‘mypassword’
WITH
GRANT
OPTION;
我用的第一個方法,剛開始發現不行,在網上查了一下,少執行一個語句
mysqlFLUSH
RIVILEGES
使修改生效,就可以了
3、另外一種方法:
在安裝mysql的機器上運行:
1、d:\mysql\bin\mysql
-h
localhost
-u
root
//這樣應該可以進入MySQL服務器
2、mysqlGRANT
ALL
PRIVILEGES
ON
*.*
TO
‘root’@’%’WITH
GRANT
OPTION
//賦予任何主機訪問數據的權限
3、mysqlFLUSH
PRIVILEGES
//修改生效
4、mysqlEXIT
//退出MySQL服務器
這樣就可以在其它任何的主機上以root身份登錄啦。
如果經過上面的操作,還不能解決問題,那可能就是服務器的安全設置問題,是不是ip安全策略或防火牆沒有開啟3306的例外。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/309518.html