我就直接po**了
#mysql中的使用者與許可權管理
/*使用者要連線mysql資料庫伺服器
分為2個階段
1.你有沒有權連線上來
2.你有沒有權執行此操作(如select,update等等)
對於1,伺服器如何判斷使用者有沒有權連線上來?
依據3個引數
host 你從哪兒來?
user 你是誰?
password 你的密碼是多少?
使用者的這3個資訊,儲存在mysql.user表中(即mysql庫的user表)
*//*
注意:grant(授予)/revoke(收回)使用者許可權後,該使用者需要重新登入/連線mysql資料庫,許可權才能生效*/#
select host, user, password from mysql.`user`;
select * from mysql.`user`;
#select password('root'), password('666666');
#沖刷許可權(可以理解成重新整理一下記憶體)
flush privileges;
#當前所在的庫
select database();
#當前的賬戶
select current_user();
select user();
#use mysql;
#show tables;
#select host, user, password from mysql.user;
#資料庫級許可權
select * from mysql.db;
#表級許可權
select * from mysql.tables_priv;
#列級許可權
select * from mysql.columns_priv;
#select host, user, password from mysql.user;
#修改host,使ip可以連線
update user set host = '192.168.6.%' where user = 'root';
flush privileges; #沖刷許可權
#修改使用者的密碼
update mysql.user set password = password('root') where user = 'root';
flush privileges; #沖刷許可權
#新增乙個使用者
/*grant [許可權1, 許可權2, 許可權3....] on 庫名.表名 to 使用者名稱@'ip位址即host' identified by '密碼';
常用許可權有 all, create, drop, insert, delete, update, select
*/grant all on *.* to jack@'192.168.10.%' identified by '6666';
grant all privileges on *.* to lily@'192.%.%.%' identified by '9999';
grant select on *.* to root@'%';
grant all on *.* to root@'%';
#privileges關鍵字可以省略
grant all on myemployees.employees to lucy@'192.168.%.%' identified by '8888';
#子句"with grant option" 表示該使用者可以為其他使用者分配許可權。
grant all on *.* to tom@'%' identified by '6666' with grant option;
grant all on girls.* to tom@'%' identified by '6666' with grant option;
select host, user, password from mysql.user;
select * from mysql.user;
select * from mysql.user where user = 'tom';
#grant all on *.* to zhangwuji@'%' identified by '6666';
#收回許可權
revoke all on *.* from zhangwuji@'%';
revoke all on *.* from jack@'192.168.10.%';
flush privileges;
#庫及表級授權與收回
#針對某個庫做授權
#把myemployees這個庫授權給zhangwuji這個使用者
grant all on myemployees.* to zhangwuji@'%';
flush privileges;
#收回許可權
revoke all on myemployees.* from zhangwuji@'%';
flush privileges;
##針對表做授權
grant select, insert on myemployees.book to zhangwuji@'%';
flush privileges;
#經過測試,使用者zhangwuji對myemployees庫的book表,確實只能做select查詢和insert新增操作
#收回許可權
revoke select, insert on myemployees.book from zhangwuji@'%';
flush privileges;
#經過測試,此時使用者zhangwuji對myemployees庫的book表,已經沒有select和insert的許可權了
/*mysql資料庫的許可權控制,可以精確到列
*/#針對表中某些列做授權
grant select(bname, price) on myemployees.book to zhangwuji@'%';
flush privileges;
#select * from mysql.user;
select * from mysql.host;
#資料庫級許可權
select * from mysql.db;
#表級許可權
select * from mysql.tables_priv;
#列級許可權
select * from mysql.columns_priv;
#show grants for tom;
show grants;
#刪除使用者drop user username@localhost;
select host, user, password from mysql.user;
drop user lily@'192.%.%.%'; #刪除使用者
select host, user, password from mysql.user;
#select host, user, password from mysql.user;
drop user weixiaobao@'%'; #刪除使用者
#grant all on *.* to linghuchong@'%' identified by '6666' with grant option;
flush privileges;
#revoke all on *.* from linghuchong@'%';
flush privileges;
#grant all on myemployees.* to linghuchong@'%' identified by '6666' with grant option;
flush privileges;
#revoke all on myemployees.* from linghuchong@'%';
flush privileges;
#grant all on *.* to weixiaobao@'%' identified by '6666';
flush privileges;
#如下寫法,不能將weixiaobao使用者的myemployees庫的許可權收回來
revoke all on *.* from weixiaobao@'%';
flush privileges;
#grant all on myemployees.* to weixiaobao@'%' identified by '6666';
flush privileges;
#select * from mysql.db;
#如下寫法,才能將weixiaobao使用者的myemployees庫的許可權收回來
revoke all on myemployees.* from weixiaobao@'%';
flush privileges;
#show grants for linghuchong;
show grants for weixiaobao;
mysql 使用者 MySQL使用者與許可權的管理詳解
使用者連線到mysql,可以做各種查詢,這都是mysql使用者與許可權功能在背後維持著操作。使用者與資料庫伺服器互動資料,分為兩個階段 1 你有沒有權連線上來 2 你有沒有權執行本操作 1 你有沒有權連線上來 伺服器如何判斷使用者有沒有權連線上來?依據 1 你從 來?host 2 你是誰?user ...
Mysql使用者與許可權管理
對於root使用者的密碼操作 更改使用者密碼 剛剛安裝完的mysql,只一有個root使用者,密碼為空,而且只能在本機登入!為root加上密碼 123 bin mysqladmin u root password 123 或寫成 bin mysqladmin uroot password 123 加...
mysql 使用者管理與許可權
create user username host identified by password host 僅允許本地使用者登陸使用具體ip或 localhost 允許任意遠端主機登陸使用萬用字元 密碼可設可不設。grant privileges on database.tablesname to ...