MYSQL開啟遠程訪問權(quán)限的方法
MySQL遠程連接(Linux)
以下MySQL遠程連接:MySQL部署環(huán)境為Ubuntu,MySQL為5.7版本,本地搭建的數(shù)據(jù)庫,只能使用局域網(wǎng)ip連接。
一、更改MySQL配置文件
進入mysql.conf.d目錄,更改mysqld.cnf的配置信息
cd /etc/mysql/mysql.cnf.d
2. 使用root權(quán)限進入mysqld.cnf,建議使用vi編輯工具修改配置
sudo vi mysqld.cnf#輸入root密碼
# 按esc后,輸入 :set number 即可顯示行號 #按 i 可編輯 #找到bind-address =127.0.0.1注釋 # 編輯完成后按 esc,然后輸入 :wq ,即可保存退出
3. 重啟mysql服務(wù)
sudo service mysql restart
二、進入MySQL修改用戶表host值 使用root賬號進入MySQL
mysql -uroot -p #輸入數(shù)據(jù)庫root賬號的密碼
2. 進入mysql
庫
3. 找到mysql 庫 中的user表
# 展示mysql庫中的所有表,user表在最后一個 show tables;
4. 查詢user表中的用戶
select host,user from user;
5. host 為遠程連接登錄地址,如修改為允許任何地址登錄,設(shè)置為%
即可,其他特定的登錄地址輸入地址修改。
update user set host="%" where user="root";
6. 修改成功后,需刷新權(quán)限
flush privileges;
修改成功后,查詢user表中root的host值為%即成功修改
三、使用其他電腦即可遠程訪問數(shù)據(jù)庫
mysql -h 數(shù)據(jù)庫遠程地址 -uroot -p # 輸入遠程數(shù)據(jù)庫的root密碼
MySQL遠程連接(Windows)
一、修改my.ini中的配置文件
找到MySQL安裝目錄下的my.ini配置文件。如果該文件不存在,需要創(chuàng)建一個。在[mysqld]部分添加或修改bind-address=0.0.0.0,以允許MySQL服務(wù)器監(jiān)聽所有IP地址上的連接
重啟MySQL服務(wù):
打開命令提示符:以管理員權(quán)限打開命令提示符窗口(可以搜索cmd,然后選擇“以管理員身份運行”)。停止MySQL服務(wù):輸入命令net stop mysql(假設(shè)服務(wù)名稱為mysql),然后按回車執(zhí)行。啟動MySQL服務(wù):輸入命令net start mysql,然后按回車執(zhí)行。
確認狀態(tài):可以在服務(wù)狀態(tài)變化后輸入sc query mysql來確認服務(wù)的狀態(tài),確保MySQL服務(wù)已經(jīng)正確重啟。
二、修改用戶權(quán)限 MySQL
使用mysql -u root -p命令登錄到MySQL服務(wù)器,輸入root用戶的密碼
mysql -uroot -p# root 密碼
進入mysql庫,找到user表修改
use mysql;
select host,user from user;
update user set host="%" where user="root";
select host,name from user;
刷新權(quán)限:執(zhí)行FLUSH PRIVILEGES;
以應(yīng)用更改
flush privileges;
三、遠程連接
在遠程終端連接:
mysql -h 數(shù)據(jù)庫地址 -uroot -p# 密碼
1、登陸mysql數(shù)據(jù)庫
mysql -u root -p
查看user表
mysql> use mysql; Database changed mysql> select host,user,password from user; +--------------+------+-------------------------------------------+ | host | user | password | +--------------+------+-------------------------------------------+ | localhost | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E | | 192.168.1.1 | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E | +--------------+------+-------------------------------------------+ 2 rows in set (0.00 sec)
可以看到在user表中已創(chuàng)建的root用戶。host字段表示登錄的主機,其值可以用IP,也可用主機名,
(1)有時想用本地IP登錄,那么可以將以上的Host值改為自己的Ip即可。
2、實現(xiàn)遠程連接(授權(quán)法)
將host字段的值改為%就表示在任何客戶端機器上能以root用戶登錄到mysql服務(wù)器,建議在開發(fā)時設(shè)為%。
update user set host = ’%’ where user = ’root’;
將權(quán)限改為ALL PRIVILEGES
mysql> use mysql; Database changed mysql> grant all privileges on *.* to root@'%' identified by "password"; Query OK, 0 rows affected (0.00 sec) mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) mysql> select host,user,password from user; +--------------+------+-------------------------------------------+ | host | user | password | +--------------+------+-------------------------------------------+ | localhost | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E | | 192.168.1.1 | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E | | % | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E | +--------------+------+-------------------------------------------+ 3 rows in set (0.00 sec)
這樣機器就可以以用戶名root密碼root遠程訪問該機器上的MySql.
3、實現(xiàn)遠程連接(改表法)
use mysql; update user set host = '%' where user = 'root';
這樣在遠端就可以通過root用戶訪問MySQL,如果大家有任何補充可以聯(lián)系腳本之家小編。