joe

Mysql命令行添加用户

1.连接数据库

MySQL 连接本地数据库,用户名为“root”,密码“123”(注意:“-p”和“123” 之间不能有空格) 

mysql -h localhost -u root -p123

2.创建用户命令

CREATE USER 'username'@'host' IDENTIFIED BY 'password';

说明:username – 你将创建的用户名, host – 指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost,  如 果想让该用户可以从任意远程主机登陆,可以使用通配符%. password –  该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登 陆服务器.

3.授权

命令格式:

GRANT privileges ON databasename.tablename TO 'username'@'host'
说明: privileges – 用户的操作权限,如SELECT , INSERT , UPDATE  等(详细列表见该文最后面).如果要授予所 的权限则使用ALL.;databasename –  数据库名,tablename-表名,如果要授予该用户对所有数据库和表的相应操作权限则可用* 表示, 如..
GRANT SELECT, INSERT ON test.user TO 'pig'@'%';

GRANT ALL ON *.* TO 'pig'@'%';

注意:用以上命令授权的用户不能给其它用户授权,如果想让该用户可以授权,用以下命令:

GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;

4.刷新权限

命令

flush privileges;

5.设置与更改用户密码

命令

SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');

如果是当前登陆用户用

SET PASSWORD = PASSWORD("newpassword");

6.撤销用户权限命令:

REVOKE privilege ON databasename.tablename FROM 'username'@'host';

7.删除用户

DROP USER ‘username’@'host’;

8.错误

报错:ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables opt

原因:权限没有刷新

解决:flush privileges

码字很辛苦,转载请注明来自朱一兵的博客《Mysql命令行添加用户》

评论