1. 程式人生 > >mysql資料庫(一)關閉遠端訪問

mysql資料庫(一)關閉遠端訪問

通過MySQL使用者去限制訪問

開啟遠端訪問:

- 更新使用者
use mysql;
update user set host = "%" where user = "root";
flush privileges;
- 新增使用者
use mysql;
insert into user(host, user, password) values("%", "root",password("yourpassword"))
grant all privileges on *.* to 'root'@'%' with grant option #賦予任何主機訪問資料庫許可權
flush privileges;
關閉遠端訪問:
use mysql;
update user set host = "localhost" where user = "root" andhost= "%";
flush privileges;
檢視使用者許可權:
use information_schema;
select * from user_privileges;
檢視當前mysql使用者:
use mysql;
select user, host from user;
更新使用者:
update mysql.user set password=password('新密碼') whereUser="phplamp" and Host="localhost";
flush privileges;
刪除使用者:
DELETE FROM user WHERE User="phplamp" and Host="localhost";
flush privileges;

user host指定方法:

Host值可以是主機名或IP號,或’localhost’指出本地主機。
你可以在Host列值使用萬用字元字元“%”和“_”。
host值’%’匹配任何主機名,空Host值等價於’%’。它們的含義與LIKE操作符的模式匹配操作相同。例如,’%’的Host值與所有主機名匹配,而’%.mysql.com’匹配mysql.com域的所有主機。

ip地址例子:
192.0.0.0/255.0.0.0(192 A類網路的任何地址)
192.168.0.0/255.255.0.0(192.168 A類網路的任何地址)
192.168.1.0/255.255.255.0(192.168.1 C類網路的任何地址)
192.168.1.1(只有該IP)

刪除使用者授權,需要使用REVOKE命令,具體命令格式為:
REVOKE privileges ON 資料庫[.表名]FROM user-name;
具體例項,先在本機登入mysql:
mysql -u root -p"youpassword"
進行授權操作:
GRANT select,insert,update,delete ON TEST-DB TO test-user@"172.16.16.152" IDENTIFIEDBY "youpassword";
再進行刪除授權操作:
REVOKE all on TEST-DB from test-user;
****注:該操作只是清除了使用者對於TEST-DB的相關授權許可權,但是這個“test-user”這個使用者還是存在。
最後從使用者表內清除使用者:
DELETE FROM user WHERE user="test-user";
過載授權表:
FLUSH PRIVILEGES;