新建用戶
create user 'username'@'%' identified by 'password';
? user_name:要創建用戶的名字,
? host:表示要這個新創建的用戶允許從哪臺機登陸,如果只允許從本機登陸,則 填 ‘localhost’ ,如果允許從遠程登陸,則填 ‘%’
? password:新創建用戶的登陸資料庫密碼,如果沒密碼可以不寫
補充說明:如果碰到新建的用戶使用終端無法登陸的問題:
解決方案:使用root用戶登陸進去,執行
delete from mysql.user where User='username';
Flush Privileges;
分配權限
grant privileges on databasename.tablename to 'username'@'host'
? privileges:表示要授予什么權力,例如可以有 select , insert ,delete,update等,如果要授予全部權力,則填 ALL
? databasename.tablename:表示用戶的權限能用在哪個庫的哪個表中,如果想要用戶的權限很作用于所有的資料庫所有的表,則填 " . ",* 是一個通配符,表示全部,
? ‘username‘@’host’:表示授權給哪個用戶,username 的引號可以不加哦,但 host 必須加,
例:
grant all privileges on *.* to 'username'@'%';--所有權限grant selete, insert on test.user TO 'pig'@'%';--test庫下user表讀和插入的權限
注意:用以上命令授權的用戶不能給其它用戶授權,如果想讓該用戶可以授權,用以下命令:
GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;
重繪權限:
FLUSH PRIVILEGES;
設定與更改用戶密碼
命令:SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');
如果是當前登陸用戶用SET PASSWORD = PASSWORD("newpassword");
例子: SET PASSWORD FOR 'pig'@'%' = PASSWORD("123456");
撤銷用戶權限
命令:
REVOKE privilege ON databasename.tablename FROM 'username'@'host';
說明: privilege, databasename, tablename - 同授權部分.
例子: REVOKE SELECT ON *.* FROM 'pig'@'%';
注意: 假如你在給用戶'pig'@'%'授權的時候是這樣的(或類似的):GRANT SELECT ON test.user TO 'pig'@'%', 則在使用REVOKE SELECT ON . FROM 'pig'@'%';命令并不能撤銷該用戶對test資料庫中user表的SELECT 操作.相反,如果授權使用的是GRANT SELECT ON . TO 'pig'@'%';則REVOKE SELECT ON test.user FROM 'pig'@'%';命令也不能撤銷該用戶對test資料庫中user表的Select 權限.
具體資訊可以用命令SHOW GRANTS FOR 'pig'@'%'; 查看.
洗掉用戶
命令:
DROP USER 'username'@'host';
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/303232.html
標籤:MySQL
上一篇:設計 | ClickHouse 分布式表實作資料同步
下一篇:三分鐘圖解 MVCC,看一遍就懂
