MySQL5.7 經常使用用戶操做

MySQL5.7 經常使用用戶操做

以前的一篇博文講述了安裝MySQL,可是咱們在安裝後MySQL以後的操做中通常不使用root用戶來進行相應的操做,因此要新建用戶,並賦予相應的權限後,才能更好的使用和管理數據庫。
mysql版本:5.7sql

1. 新建用戶

create user 'username'@'host' identified by 'password';

例子:數據庫

create user 'user'@'localhost' identified by '123456';
create user 'user'@'localhost' identified by '';

username : 你將建立的用戶名
host : 指定該用戶在哪一個主機上能夠登錄,此處的"localhost",是指該用戶只能在本地登陸,不能在另一臺機器上遠程登陸,若是想遠程登陸的話,將"localhost"改成"%",表示在任何一臺電腦上均可以登陸;也能夠指定某臺機器能夠遠程登陸;
password : 該用戶的登錄密碼,密碼能夠爲空,若是爲空則該用戶能夠不須要密碼登錄服務器。服務器

MySQL5.7 mysql.user表password字段改成 authentication_string;ide

2. 受權

grant privileges on databasename.tablename to 'username'@'host';

privileges : 用戶的操做權限,如SELECT , INSERT , UPDATE 等。若是要授予所的權限則使用ALL。
databasename : 數據庫名
tablename : 表名
若是要授予該用戶對全部數據庫和表的相應操做權限則可用*表示, 如*.*.code

## 賦予user對數據庫store下的全部表的查看和增添權利
grant select, insert on store.* to 'user'@'localhost';

3. 建立用戶時受權

grant all privileges on store.* to user@'%' identified by '123456';
flush privileges;

4. 設置與更改用戶密碼(root)

update mysql.user set authentication_string=password("新密碼") where User="test" and Host="localhost"; 
flush privileges;

5. 撤銷用戶權限

## 具體信息能夠用命令show grants for 'username'@'host'; 查看.
revoke privilege on databasename.tablename from 'username'@'host';

6. 刪除用戶

drop user 'username'@'host';

7. 查看用戶的受權

show grants for user@localhost;

8. 顯示當前用戶信息

select user();

9. 重置root密碼

  在my.cnf的[mysqld]字段加入skip-grant-tables,而後重啓mysql服務,這時的mysql不須要密碼便可登陸數據庫。而後進入mysql:ip

use mysql;
update user set password=password('新密碼') WHERE User='root';
flush privileges;

  運行以後最後去掉my.cnf中的skip-grant-tables,重啓mysqld便可。string

相關文章
相關標籤/搜索