mysql遠程資料庫連接不上
『壹』 mysql連接不上遠程伺服器,如何解決
遠程伺服器連接MySQL,需要創建一個允許遠程訪問的用戶。
創建用戶:
CREATE USER'username'@'host' IDENTIFIED BY 'password';
其中username 是用戶名,host是可以進行遠程訪問資料庫的伺服器地址。
給用戶授權:
GRANT privileges ONdatabasename.tablename TO 'username'@'host';
給'username'@'host'用戶進行授權,其中privileges是要授予的許可權,可以是all privileges、select、update等。databasename.tablename是要訪問的某個資料庫中的某張表,如果是所有的,則可以用*。
『貳』 無法連接遠程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>
mysql>update user
set host = '%' where user = 'root';
mysql>select host,
user from user;
二、授權法
例如:
你想myuser使用mypassword(密碼)從任何主機連接到mysql伺服器的話。
mysql>GRANT ALL
PRIVILEGES ON *.* TO 'myuser'@'%'IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
如果你想允許用戶myuser從ip為192.168.1.6的主機連接到mysql伺服器,並使用mypassword作為密碼
mysql>GRANT ALL
PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3'IDENTIFIED BY
'mypassword' WITH GRANT OPTION;
mysql>FLUSH
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-front 無法遠程連接mysql資料庫
不允許遠程連接這個資料庫,你看下mysql埠是否打開,另外查看一下mysql是否允許遠程連接
幾個解決方案,自己看下
1.修改改mysql配置文件(/etc/mysql/my.cnf),注釋以下行:
#bind-address
=
127.0.0.1
2.重啟mysql資料庫,對於ubuntu系統,執行如下命令
sudo
/etc/init.d/mysql
restart
3.以root用戶登錄mysql後,執行如下命令:
grant
all
privileges
on
*.*
to
root@』允許登錄的遠程機器ip』
identified
by
『密碼』
或者
grant
all
privileges
on
*.*
to
'myuser'@'%'
identified
by
'mypassword'
with
grant
option;
如果你想允許用戶myuser從ip為168.160.12.50的主機連接到mysql伺服器,並使用mypassword作為密碼
grant
all
privileges
on
*.*
to
'myuser'@'168.160.12.50'
identified
by
'mypassword'
with
grant
option;
『肆』 PHP無法連接到遠程的mysql資料庫
首先你要確定你遠程的MYSQL開啟了遠程連接。
默認是不會開啟的,一般情況也是不建議開啟的,存在風險比較大。
默認都是伺服器本機或者區域網連接使用。
進入伺服器給mysql加上一個賬號或者直接在你使用的賬號上,連接地址localhost或者127.0.0.1改成%,就表示任何IP都可以連接了,這樣就可以遠程連接了。
建議用一些界面管理軟體來修改比較直觀一點,當然你熟悉命令也是可以用命令來修改的。