本文目錄一覽:
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的例外。
如何遠程訪問MySQL數據庫詳解
默認情況下,mysql只允許本地登錄,如果要開啟遠程連接,則需要修改/etc/mysql/my.conf文件。
一、修改/etc/mysql/my.conf
找到bind-address = 127.0.0.1這一行
改為bind-address = 0.0.0.0即可
二、為需要遠程登錄的用戶賦予權限
1、新建用戶遠程連接mysql數據庫
grant all on *.* to admin@’%’ identified by ‘123456’ with grant option;
flush privileges;
允許任何ip地址(%表示允許任何ip地址)的電腦用admin帳戶和密碼(123456)來訪問這個mysql server。
注意admin賬戶不一定要存在。
2、支持root用戶允許遠程連接mysql數據庫
grant all privileges on *.* to ‘root’@’%’ identified by ‘123456’ with grant option;
flush privileges;
三、查看系統用戶
如何連接遠程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,
rows
affected
(0.00
sec)
mysql
flush
privileges;
Query
OK,
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
原創文章,作者:ELPWE,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/324661.html