mysql讓其他ip訪問
不可以訪問,用IP能訪問的話,那一般是你電腦被病毒或木馬感染了,人家在幕後遠程遙控你的機子,這種設置太麻煩。
裝個遠程式控制制軟體是最簡單的了:QQ也可以遠程式控制制的,在工具裡面有個遠程式控制制,連接對方,然後點「申請控制」就能讓他操作你的電腦了。
但QQ網速會卡,KDT快遞通專門的遠程遙控軟體,網上下載個,安裝一下,在對話框中的動作中選擇「接受對方控制」就連上了,速度絕對快。
2. 怎麼設置才能讓外網ip可以訪問mysql資料庫
整體簡介:
為了安全起見默認情況下Mysql資料庫的監聽地址是127.0.0.1,就是指本機下的程序才能訪問。
監聽地址是0.0.0.0 ,表示該mysql允許所有IP地址進行連接,這是允許遠程連接的基礎
監聽地址是127.0.0.1,則代表該mysql只允許所在伺服器本機連接,外網是無法連接的
所需工具原料:
解決方法:
1. 用命令vi 編輯/etc/mysql/my.cnf 如圖:
3. 重啟服務
service mysqld restart
4. Linux伺服器中執行如下命令可以查看: netstat -nutlp|grep mysql(只查看mysql的監聽), netstat -tln(查看所有的監聽)是否成功。
3. 怎樣設置才能允許外網訪問MySQL
設置mysql服務允許外網訪問,修改mysql的配置文件,有的是my.ini,有的是my.cnf【linux】.
1:設置mysql的配置文件
/etc/mysql/my.cnf
找到 bind-address =127.0.0.1 將其注釋掉;//作用是使得不再只允許本地訪問;
重啟mysql:/etc/init.d/mysql restart;
2:登錄mysql資料庫:mysql -u root -p
mysql> use mysql;
查詢host值:
mysql> select user,host from user;
如果沒有"%"這個host值,就執行下面這兩句:
mysql> update user set host='%' where user='root';
mysql> flush privileges;
或者也可以執行:
mysql>grand all privileges on *.* to root@'%' identifies by ' xxxx';
其中 第一個*表示資料庫名;第二個*表示該資料庫的表名;如果像上面那樣 *.*的話表示所有到資料庫下到所有表都允許訪問;
『%':表示允許訪問到mysql的ip地址;當然你也可以配置為具體到ip名稱;%表示所有ip均可以訪問;
後面到『xxxx'為root 用戶的password;
舉例:
任意主機以用戶root和密碼mypwd連接到mysql伺服器
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mypwd' WITH GRANT OPTION;
mysql> flush privileges;
IP為192.168.1.102的主機以用戶myuser和密碼mypwd連接到mysql伺服器
mysql> GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.102' IDENTIFIED BY 'mypwd' WITH GRANT OPTION;
mysql> flush privileges;
4. mysql怎麼樣開通外網IP可連接
設置mysql服務允許外網訪問,修改mysql的配置文件,有的是my.ini,有的是my.cnf【linux】.
1:設置mysql的配置文件
/etc/mysql/my.cnf
找到 bind-address =127.0.0.1 將其注釋掉;//作用是使得不再只允許本地訪問;
重啟mysql:/etc/init.d/mysql restart;
2:登錄mysql資料庫:mysql -u root -p
mysql> use mysql;
查詢host值:
mysql> select user,host from user;
如果沒有"%"這個host值,就執行下面這兩句:
mysql> update user set host='%' where user='root';
mysql> flush privileges;
或者也可以執行:
mysql>grand all privileges on *.* to root@'%' identifies by ' xxxx';
其中 第一個*表示資料庫名;第二個*表示該資料庫的表名;如果像上面那樣 *.*的話表示所有到資料庫下到所有表都允許訪問;
『%':表示允許訪問到mysql的ip地址;當然你也可以配置為具體到ip名稱;%表示所有ip均可以訪問;
後面到『xxxx'為root 用戶的password;
舉例:
任意主機以用戶root和密碼mypwd連接到mysql伺服器
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mypwd' WITH GRANT OPTION;
mysql> flush privileges;
IP為192.168.1.102的主機以用戶myuser和密碼mypwd連接到mysql伺服器
mysql> GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.102' IDENTIFIED BY 'mypwd' WITH GRANT OPTION;
mysql> flush privileges;
5. 如何通過ip訪問MySql資料庫
1.改表法。可能是你的帳號不允許從遠程登陸,只能在localhost。這個時候只要在localhost的那台電腦,登入mysql後,更改
"mysql"
資料庫中
"user"
表裡的
"host"
欄位,把"localhost"改稱"%",即可。
mysql
-u
root
-pvmwaremysql>use
mysql;mysql>update
user
set
host
=
'%'
where
user
=
'root';mysql>select
host,
user
from
user;
2.授權法。例如,你想用戶myuser使用密碼mypassword通過ip地址連接到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;
6. MYSQL資料庫如何賦予遠程某個IP訪問許可權
你的MYSQL資料庫裡面有一個資料庫,名字教做mysql,裡面有個表,名字叫做user,你看一下這個表的結構和現有數據,你就知道應該怎麼做了,比如你可以添加一條數據,Host為你指定的IP,user可以是%,password就不管了,後面設置相應的許可權(可以全部都是Y),這樣那個機器無論用什麼用戶和密碼都可以連接資料庫,而擁有你指定的許可權。
耐心點吧,我相信你一看就明白。
7. 如何讓別人遠程連接到自己的MySql資料庫
MYSQL要想讓別人遠程訪問自己的資料庫,必須讓mysql庫中user表的host欄位為%,接受遠程式控制制請求 ,可以進入mysql>user mysql;
mysql>update user set host="%" where user="root" and host="localhost";這樣別人就可以通過 mysql -h xxx.xxx.xxx.xxx(你電腦的IP) -u root -p密碼 進行連接並操作資料庫了。
8. 如何讓其他計算機訪問我的計算機上資料庫mysql
很簡單啊,先判斷是不是在同 一個網路之間,你ping 一下它的ip ,看能不能ping通.
這樣就有兩種情況,
第一種:能ping通,說明你們在同一個網路中,可以直接訪問.你只要在你的登錄用戶中的帳號加上可外部訪問就可以了...也就是授權.比如你的帳號是root 你可以進入mysql後,
那麼我的其中一個root的帳號就能被所有的主機訪問了..
第二種情況,就是ping 不通,那麼你是須要借用其它的工具.可以用花生殼或稻草人這樣的ddns工具進行靜態化ip.
剩下的按照第一種情況一樣,把你的帳號允許遠程登錄就可以了.
9. 如何讓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>