當前位置:首頁 » 文件傳輸 » mysql可以只能本機訪問嗎
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

mysql可以只能本機訪問嗎

發布時間: 2022-01-25 01:32:56

1. mysql 怎麼設置只能本地連接

mysql默認只允許本地連接,也就是說,在安裝完mysql後會存在兩個root賬戶,他們的host分別是localhost和127.0.0.1,

2. 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"改稱"%"
mysql -u root -pvmwaremysql>use mysql;mysql>update user set host = '%' where user = 'root';mysql>select 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
mysql>use mysql;
mysql>select 'host' from user where user='root';
mysql>update user set host = '%' where user ='root';
mysql>flush privileges;
mysql>select 'host' from user where user='root';
第一句是以許可權用戶root登錄
第二句:選擇mysql庫
第三句:查看mysql庫中的user表的host值(即可進行連接訪問的主機/IP名稱)
第四句:修改host值(以通配符%的內容增加主機/IP地址),當然也可以直接增加IP地址
第五句:刷新MySQL的系統許可權相關表
第六句:再重新查看user表時,有修改。。
重起mysql服務即可完成。

3. 為什麼我安裝的mysql只能本地連接

mysql默認只允許本地連接,也就是說,在安裝完mysql後會存在兩個root賬戶,他們的host分別是localhost和127.0.0.1,

如果不知道如何修改這個host,請追問

4. 怎麼設置mysql root用戶可以即從本地登陸,又可遠程登陸

為了遷移mysql到oracle,採用了oracle的sql developer工具,並下載了mysql

jdbc驅動(為了讓sql developer連接mysql)

為了從oracle sql developer遠程以root連接mysql

1
2
3

mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY '123456' WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)
mysql>

在設置root賬戶密碼時,可以選擇是否允許其從遠程訪問。默認情況下是不允許的。

在命令行下,可以有兩種大同小異的方法來作此設置:

(1)

1
2
3

mysql>GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY 'something' WITH GRANT OPTION;

mysql>GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY 'something' WITH GRANT OPTION;

第一句增加了一個root用戶授權通過本地機(localhost)訪問,密碼「something」。

第二句則是使用通配符,授與root用戶從任何其它主機發起的訪問。

(2)亦可直接使用update語句修改user表:使用root用戶或其他用戶登錄mysql,轉到mysql資料庫

1
2
3
4
5

update user set host='localhost' where user='root';
flush privileges;//只允許root在本機登錄

update user set host='%' where user='root';
flush privileges;//允許root遠程訪問

注意,以上一定要加flush語句。

另外,如果要建新用戶,則用grant語句比較方便,記住語句grant總是創建新用戶。

例如我目前的庫:
mysql> select host,user from user;
+-----------+--------+
| host | user |
+-----------+--------+
| % | mytest |
| % | root |
| localhost | mytest |
| localhost | root |
+-----------+--------+
4 rows in set (0.00 sec)

root和mytest都既能本地連,也能遠程連

5. mysql資料庫只能外網訪問

你可以拿一個用戶測試一下就清楚是什麼地方的問題了,例如有abc用戶 進入mysql以後grant all on abc.* to abc@localhost identified by "password";然後通過這個用戶測試是否可以通過localhost登陸了,如果可以,這個可能是因為主機管理系統創建用戶許可權的時候在@後面設置的地址不是localhost導致

6. 如何讓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>

7. 如何讓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
mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select 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
mysql>use mysql;
mysql>select 'host' from user where user='root';
mysql>update user set host = '%' where user ='root';
mysql>flush privileges;
mysql>select 'host' from user where user='root';
第一句是以許可權用戶root登錄
第二句:選擇mysql庫
第三句:查看mysql庫中的user表的host值(即可進行連接訪問的主機/IP名稱)
第四句:修改host值(以通配符%的內容增加主機/IP地址),當然也可以直接增加IP地址
第五句:刷新MySQL的系統許可權相關表
第六句:再重新查看user表時,有修改。。
重起mysql服務即可完成。

8. mysql只能本地登錄而無法遠程IP訪問,求助

ip沒寫錯么

9. mysql 如何配置只允許本機訪問

httpd.conf中
在最後加上這樣一段,第一行是配置你的路徑,127.0.0.1就是你的本機IP
DocumentRoot
D:/PHPnow/htdocs
ServerName
127.0.0.1
RewriteEngine
on
RewriteCond
%{DOCUMENT_ROOT}%{REQUEST_FILENAME}
!

10. 為啥mysql為啥本地能訪問,遠程不能訪問

首先你得能ping通遠程的服務 打開cmd 輸入ping ip地址 如ping 158.163.20.122 如果能接收到數據說明能訪問遠程的服務 這時再查看帳號密碼是否正確就可以了 如果第一步都不行是不可能訪問的