標籤:mysql 資料庫 mysql使用者操作
Mysql中的使用者 user 每一個user都對應了不同的使用者地址和許可權
建立Mysql使用者共有三種方式1、create user 2、grant 3、操作mysql.user表
1、CREATE USER ‘username‘@‘host‘ IDENTIFIED BY ‘password‘;
例子: CREATE USER ‘aa‘@‘localhost‘ IDENTIFIED BY ‘123456‘;
CREATE USER ‘aa‘@‘192.168.1.101_‘ IDENDIFIED BY ‘123456‘;
CREATE USER ‘aa‘@‘%‘ IDENTIFIED BY ‘123456‘;
CREATE USER ‘bb‘@‘%‘ IDENTIFIED BY ‘‘;
CREATE USER ‘cc‘@‘%‘;
使用者有兩個部分組成 格式:名字@主機
[email protected] 本機發起連結的aa使用者
[email protected] 用戶端地址為152.236.20.10的使用者bb
[email protected]% %萬用字元,表示所有
2、使用grant語句(授權方式)
文法:mysql> grant 許可權1,許可權2,...許可權n on 資料庫名稱.表名稱 to 使用者名稱@使用者地址 identified by ‘串連口令‘;
許可權1,許可權2,...許可權n代表
select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process,file等14個許可權
執行個體:
mysql>grant select,insert,update,delete,create,drop on vtdc.employee to [email protected] identified by ‘123‘;
給來自10.163.225.87的使用者joe分配可對資料庫vtdc的employee表進行select,insert,update,delete,create,drop等操作的許可權,並設定口令為123。
mysql>grant all privileges on vtdc.* to [email protected] identified by ‘123‘;
給來自10.163.225.87的使用者joe分配可對資料庫vtdc所有表進行所有操作的許可權,並設定口令為123。
mysql>grant all privileges on *.* to [email protected] identified by ‘123‘;
給來自10.163.225.87的使用者joe分配可對所有資料庫的所有表進行所有操作的許可權,並設定口令為123。
mysql>grant all privileges on *.* to [email protected] identified by ‘123‘;
給本機使用者joe分配可對所有資料庫的所有表進行所有操作的許可權,並設定口令為123。
3、直接向mysql.user表插入記錄:
mysql> insert into user (host,user,password) values (‘%‘,‘jss_insert‘,password(‘jss‘));
mysql>flush privileges; //重新整理系統許可權表
修改使用者密碼:1、mysqladmin 2、修改mysql.user表 3、set password
1、 使用mysqladmin文法:mysqladmin -u使用者名稱 -p舊密碼 password 新密碼
例如:mysqladmin -u root -p 123 password 456;
2、 直接修改user表的使用者口令:
文法:update mysql.user set password=password(‘新密碼‘) where User="phplamp" and Host="localhost";
執行個體:update user set password=password(‘54netseek‘) where user=‘root‘;
flush privileges;
3、使用SET PASSWORD語句修改密碼:文法:
SET PASSWORD FOR ‘username‘@‘host‘ = PASSWORD(‘newpassword‘);
如果是當前登陸使用者用SET PASSWORD = PASSWORD("newpassword");
執行個體:
set password for [email protected]=password(‘‘);
SET PASSWORD FOR name=PASSWORD(‘new password‘);
SET PASSWORD FOR ‘pig‘@‘%‘ = PASSWORD("123456");
刪除使用者和撤銷許可權:1、drop user 2、取消授權使用者 3、刪除mysql.user表中的記錄
1、 取消一個賬戶和其許可權
Drop USER user;
drop user [email protected]‘%‘
drop user [email protected]
2、 取消授權使用者:
文法:REVOKE privilege ON databasename.tablename FROM ‘username‘@‘host‘;
例子: REVOKE SELECT ON *.* FROM ‘pig‘@‘%‘;
REVOKE SELECT ON test.user FROM ‘pig‘@‘%‘;
revoke all on *.* from [email protected] ;
revoke all on user.* from ‘admin‘@‘%‘;
SHOW GRANTS FOR ‘pig‘@‘%‘; //查看授權
3、刪除使用者:
文法: Delete from user where user = "user_name" and host = "host_name" ;
例子:delete from user where user=‘sss‘ and host=‘localhost‘;
參考博文:http://blog.csdn.net/leili0806/article/details/8573636