本文目錄一覽:
- 1、怎麼配置MySQL數據庫讓別人遠程訪問
- 2、如何讓別人遠程連接到自己的MySql數據庫
- 3、如何讓mysql數據庫允許被遠程連接訪問
- 4、如何允許mysql數據庫遠程訪問
- 5、如何讓其他計算機訪問我的計算機上數據庫mysql?
- 6、怎麼設置MySQL就能讓別人訪問本機的數據庫了?
怎麼配置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數據庫
MYSQL要想讓別人遠程訪問自己的數據庫,必須讓mysql庫中user表的host字段為%,接受遠程控制請求 ,可以進入mysqluser mysql;
mysqlupdate user set host=”%” where user=”root” and host=”localhost”;這樣別人就可以通過 mysql -h xxx.xxx.xxx.xxx(你電腦的IP) -u root -p密碼 進行連接並操作數據庫了。
如何讓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數據庫遠程訪問
1、使用“Ctrl + R”組合鍵快速打開cmd窗口,並輸入“cmd”命令,打開cmd窗口。
2、使用“mysql -uroot -proot”命令可以連接到本地的mysql服務。
3、使用“use mysql”命令,選擇要使用的數據庫,修改遠程連接的基本信息,保存在mysql數據庫中,因此使用mysql數據庫。
如何讓其他計算機訪問我的計算機上數據庫mysql?
第一:更改 “mysql” 數據庫里的 “user” 表裡的 “host” 項,從”localhost”改稱’%’。
或者新加條記錄,“host” 項為要訪問的ip地址,並授權。重啟mysql服務。
第二:在系統防火牆添加例外端口:3306,並允許例外。
錯誤提示:
ERROR 1130: Host ‘192.168.1.3’ is not allowed to connect to this MySQL server
的解決方法:
1。改表法。可能是你的帳號不允許從遠程登陸,只能在localhost。這個時候只要在localhost的那台電腦,登入mysql後,更改 “mysql” 數據庫里的 “user” 表裡的 “host” 項,從”localhost”改稱”%”
1.mysql -u root -pvmware
mysqluse 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.3的主機連接到mysql服務器,並使用mypassword作為密碼
GRANT ALL PRIVILEGES ON *.* TO ‘myuser’@’192.168.1.3’ IDENTIFIED BY ‘mypassword’ WITH GRANT OPTION;
3.在window自帶的防火牆裡的例外添加3306端口
總結:
mysql -u root -p
mysqluse mysql;
mysqlselect ‘host’ from user where user=’root’;
mysqlupdate user set host = ‘%’ where user =’root’;
mysqlflush privileges;
mysqlselect ‘host’ from user where user=’root’;
第一句是以權限用戶root登錄
第二句:選擇mysql庫
第三句:查看mysql庫中的user表的host值(即可進行連接訪問的主機/IP名稱)
第四句:修改host值(以通配符%的內容增加主機/IP地址),當然也可以直接增加IP地址
第五句:刷新MySQL的系統權限相關表
第六句:再重新查看user表時,有修改。。
重起mysql服務即可完成。
打字不易,如滿意,望採納。
怎麼設置MySQL就能讓別人訪問本機的數據庫了?
找到MySQL配置文件,搜索“bind-address”,找到這一行:
bind-address = 127.0.0.1 在前面加一個#,注釋掉這一行,保存,重啟MySQL。
再通過遠程訪問就可以了,telnet可以發現端口也打開了。
例配置:
1. 確保skip-networking被刪除或者屏蔽,否則不支持TCP/IP 訪問
2. 增加行bind-address = 65.55.55.2,替代65.55.55.2 為你的服務器地址
修改後,配置為:
[mysqld]
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
language = /usr/share/mysql/English
bind-address = 65.55.55.2
# skip-networking
保存並關閉配置文件
重啟mysql服務器:# /etc/init.d/mysql restart
如果上面辦法沒有用我們可以通用mysql命令模式進行設置:
可能是你的帳號不允許從遠程登陸,只能在localhost。這個時候只要在localhost的那台電腦,登入mysql後,更改 “mysql” 數據庫里的 “user” 表裡的 “host” 項,從”localhost”改稱”%”
CODE:mysql -u root -p123
mysqluse mysql;
mysqlupdate user set host = ‘%’ where user = ‘root’;
mysqlselect host, user from user;
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/297342.html