MySQL數據庫操作(1)用戶與權限
本地通過命令行進入MySQL:
mysql -u用戶名 -p密碼
mysql -u用戶名 -p 回車後輸入密碼
退出MySQL:
\q
exit
強行退出,Ctrl+Z
創建用戶:
CREATE USER ‘用戶名‘@‘域名‘ IDENTIFIED BY ‘密碼‘;
域名:指定該用戶在哪個主機上可以登陸,如果是本地用戶可用localhost, 如果想讓該用戶可以從任意遠程主機登陸,可以使用通配符%
密碼:密碼可以為空,如果為空則該用戶可以不需要密碼登陸服務器。
例子:
CREATE USER ‘dog‘@‘localhost‘ IDENTIFIED BY ‘123456‘;
CREATE USER ‘pig‘@‘192.168.1.101‘ IDENTIFIED BY ‘123456‘;
CREATE USER ‘pig‘@‘%‘ IDENTIFIED BY ‘123456‘;
CREATE USER ‘pig‘@‘%‘ IDENTIFIED BY ‘‘;
CREATE USER ‘pig‘@‘%‘;
刪除用戶:
DROP USER ‘用戶名‘@‘域名‘;
例子:
DROP USER ‘pig‘@‘192.168.1.101‘;
DROP USER ‘pig‘@‘%‘;
給用戶授權:
GRANT 權限 ON 數據庫名.表名 TO ‘用戶名‘@‘域名‘;
讓該用戶可以對指定數據庫下指定的表,進行指定的操作,每項權限之間用逗號分隔,權限表見結尾
例子:
GRANT SELECT, INSERT ON test.user TO ‘pig‘@‘%‘;
GRANT ALL ON *.* TO ‘pig‘@‘%‘;
註意:
用以上命令授權的用戶不能給其它用戶授權,如果想讓該用戶可以授權,用以下命令:
GRANT 權限 ON 數據庫名.表名 TO ‘用戶名‘@‘域名‘ WITH GRANT OPTION;
撤銷用戶權限:
REVOKE 權限 ON 數據庫名.表名 FROM ‘用戶名‘@‘域名‘;
例子:
REVOKE SELECT ON *.* FROM ‘pig‘@‘%‘;
註意:
撤銷的權限和庫表必須是和授權時一致,如果撤銷的權限和授權時不一致,則不會撤銷該權限。
顯示用戶權限:
SHOW GRANTS FOR ‘用戶名‘@‘域名‘;
例子:
SHOW GRANTS FOR ‘pig‘@‘%‘;
設置與更改用戶密碼:
對指定用戶 SET PASSWORD FOR ‘用戶名‘@‘域名‘ = PASSWORD(‘新密碼‘);
對當前用戶 SET PASSWORD = PASSWORD("新密碼");
例子:
SET PASSWORD FOR ‘pig‘@‘%‘ = PASSWORD("123456");
查看有哪些數據庫:
SHOW DATABASES;
查看當前在哪個數據庫裏:
SELECT DATABASE();
查看當前用戶:
SELECT USER();
查看用戶列表:
select host,user from mysql.user;
附表:在MySQL中的操作權限
ALTER | Allows use of ALTER TABLE. |
ALTER ROUTINE | Alters or drops stored routines. |
CREATE | Allows use of CREATE TABLE. |
CREATE ROUTINE | Creates stored routines. |
CREATE TEMPORARY TABLE | Allows use of CREATE TEMPORARY TABLE. |
CREATE USER | Allows use of CREATE USER, DROP USER, RENAME USER, and REVOKE ALL PRIVILEGES. |
CREATE VIEW | Allows use of CREATE VIEW. |
DELETE | Allows use of DELETE. |
DROP | Allows use of DROP TABLE. |
EXECUTE | Allows the user to run stored routines. |
FILE | Allows use of SELECT... INTO OUTFILE and LOAD DATA INFILE. |
INDEX | Allows use of CREATE INDEX and DROP INDEX. |
INSERT | Allows use of INSERT. |
LOCK TABLES | Allows use of LOCK TABLES on tables for which the user also has SELECT privileges. |
PROCESS | Allows use of SHOW FULL PROCESSLIST. |
RELOAD | Allows use of FLUSH. |
REPLICATION | Allows the user to ask where slave or master |
CLIENT | servers are. |
REPLICATION SLAVE | Needed for replication slaves. |
SELECT | Allows use of SELECT. |
SHOW DATABASES | Allows use of SHOW DATABASES. |
SHOW VIEW | Allows use of SHOW CREATE VIEW. |
SHUTDOWN | Allows use of mysqladmin shutdown. |
SUPER | Allows use of CHANGE MASTER, KILL, PURGE MASTER LOGS, and SET GLOBAL SQL statements. Allows mysqladmin debug command. Allows one extra connection to be made if maximum connections are reached. |
UPDATE | Allows use of UPDATE. |
USAGE | Allows connection without any specific privileges. |
MySQL數據庫操作(1)用戶與權限