1. 程式人生 > >MySQL數據庫操作(1)用戶與權限

MySQL數據庫操作(1)用戶與權限

servers delete into cin 通配符 statement 之間 需要 create

本地通過命令行進入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)用戶與權限