文章目錄
- 15.2.1、登入和退出MySQL伺服器
- 15.2.2、建立立普通使用者
- 15.2.3、刪除普通使用者
- 15.2.4、root使用者修改自己的密碼
- 15.2.5、root使用者修改普通使用者密碼
- 15.2.6、普通使用者修改密碼
- 15.2.7、root使用者密碼丟失的解決辦法
- 15.3.1、MySQL的各種許可權
- 15.3.2、授權
- 15.3.3、收回許可權
15.2、賬戶管理15.2.1、登入和退出MySQL伺服器
mysql –hhostname|hostIP –P port –u username –p[password] databaseName –e “SQL語句”
-h 主機名稱或ip
-P port[3306]
-u username
-p -p[password] 注意,之間沒有空格
-e 執行SQL語句 SQL用雙引號括起
可以用此語句配合作業系統定時任務,達到自動處理表資料的功能,如定時將某表中到期的資料刪除。
15.2.2、建立立普通使用者
1、用CREATE USER語句建立
CREATE USER user [IDENTIFIED BY [PASSWORD]’password’]
[,user [IDENTIFIED BY [PASSWORD]’password’]]...
2、用INSERT語句來建立普通使用者
INSERT INTOmysql.user(host,user,password,ssl_cipher,x509_issuer,x509_subject)
VALUES (‘localhost’,’test2’,PASSWORD(‘test2’),’’,’’,’’);
FLUSH PRIVELEGES;
3、用GRANT語句來建立普通使用者
GRANT priv_type ON database.table TO user [IDENTIFIED BY [PASSWORD]’password
[,user[IDENTIFIED BY [PASSWORD]’password’]]...
15.2.3、刪除普通使用者
1、用DROP USER語句來刪除普通使用者
DROP USER user [,user]…;
例:drop user ‘test’@’localhost’;
2、用DELETE語句來刪除普通使用者
DELETE FROM mysql.user WHERE user=’username’ and host=’hostname’;
FLUSH PRIVILEGES;
15.2.4、root使用者修改自己的密碼
1、使用mysqladmin命令來修改root使用者的密碼
mysqladmin –u username –p password “new_password”;
2、修改user表
UPDATE mysql.user SET password=PASSWORD(“new_password”) WHERE user=’root’and host=’’;
FLUSH PRIVILEGES;
3、使用SET語句來修改root使用者的密碼
SET PASSWORD=PASSWORD(“new_password”);
15.2.5、root使用者修改普通使用者密碼
1、使用mysqladmin命令
不適用,mysqladmin只能修改root 使用者密碼
2、修改user表
UPDATE mysql.user SET password=PASSWORD(“new_password”) WHERE user=’’ andhost=’’;
FLUSH PRIVILEGES;
3、使用SET語句來修改普通使用者的密碼
SET PASSWORD FOR ‘user’@’localhost’=PASSWORD(“new_password”);
4、用GRANT語句來修改普通使用者的密碼
GRANT priv_type ON database.table TO user [IDENTIFIED BY [PASSWORD]’password
[,user[IDENTIFIED BY [PASSWORD]’password’]]...
15.2.6、普通使用者修改密碼
SET PASSWORD=PASSWORD(“new_password”);
15.2.7、root使用者密碼丟失的解決辦法
1、使用—skip-grant-tables選項來啟動MySQL服務
>mysqld –skip-grant-tables
#/etc/init.d/mysql start –mysqld –skip-grant-tables
2、登入root,設定新密碼
mysql –u root
update mysql.user set password=password(“new_password”) where user=’root’and host=’localhost’;
3、載入許可權表
fush privileges;
15.3、許可權管理15.3.1、MySQL的各種許可權
create, select, update, delete
all [privileges] 指所有許可權
15.3.2、授權
GRANT priv_type [(column_list)] [, priv_type [(column_list)]] ...
ON [object_type] {tbl_name | *| *.* | db_name.*}
TO user [IDENTIFIED BY[PASSWORD] 'password']
[, user [IDENTIFIED BY[PASSWORD] 'password']] ...
[REQUIRE
NONE |
[{SSL| X509}]
[CIPHER 'cipher' [AND]]
[ISSUER 'issuer' [AND]]
[SUBJECT 'subject']]
[WITH with_option [with_option]...]
object_type =
TABLE
| FUNCTION
| PROCEDURE
with_option =
GRANT OPTION
| MAX_QUERIES_PER_HOUR count
| MAX_UPDATES_PER_HOUR count
| MAX_CONNECTIONS_PER_HOUR count
| MAX_USER_CONNECTIONS count
grant select, insert, update, delete on testdb.* tocommon_user@'%'
database.table *.*所有庫的所有表
user ‘user’@’host’
15.3.3、收回許可權
REVOKE priv_type [(column_list)] [, priv_type [(column_list)]] ...
ON [object_type] {tbl_name | *| *.* | db_name.*}
FROM user [, user] ...
REVOKE ALL PRIVILEGES, GRANT OPTION FROM user [, user] ...