目錄mysql
以前的一篇博文講述了安裝MySQL,可是咱們在安裝後MySQL以後的操做中通常不使用root用戶來進行相應的操做,因此要新建用戶,並賦予相應的權限後,才能更好的使用和管理數據庫。
mysql版本:5.7sql
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
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';
grant all privileges on store.* to user@'%' identified by '123456'; flush privileges;
update mysql.user set authentication_string=password("新密碼") where User="test" and Host="localhost"; flush privileges;
## 具體信息能夠用命令show grants for 'username'@'host'; 查看. revoke privilege on databasename.tablename from 'username'@'host';
drop user 'username'@'host';
show grants for user@localhost;
select user();
在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