1使用root身份登陆MySQL
Liunx下(ps:我用的是centos7.1) 首先以root身份登录上去后执行操作mysql -uroot -p 然后Enter 输入你的密码后 出现welocame to the mysql就说明登录成功了。
2创建用户
登录后执行 insert into user (Host,User,Password) values('localhost','newuser',password('newpwd'));附:后来发现5.7版本mysql的user表里面没有password这个选项 然后网上搜了下这个语句create user 'newuser'@'localhost' identified by 'newpwd'这2行代码的意思就是说往user表里面创建了一个名称newuser密码为newpwd的用户。PS:localhost表示只能在本地访问, 如果要想在远程访问就把localhost改成%。
3查询一下这个用户是否被创建
成功执行查询语句 Select User From mysql.user Where User='newuser' 看看有没有这个用户如果有就说明创建成功了,没有的话自己再检查下这个还是比较简单的。
4给用户授予权限
grant 权限 on数据库.* to '名称'@'主机名'
例如grant CREATE on user.* to '名称'@'主机名' 意思是把user数据库的全部全部表给了这个用户 但是这个用户只能有创建权限
例如 grant all on user.address to '名称'@'主机名' 意思是把user数据库的的address表给了这个用户,并且这个用户有对这个表操作的全部权限。
5设置与更改用户密码
命令:SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');如果是当前登陆用户用SET PASSWORD = PASSWORD("newpassword");
例子: SET PASSWORD FOR 'pig'@'%' = PASSWORD("123456");
6废除某个用户的权限
revoke all on user.address from 'newuser'@'localhost'; 废除这个用户的对address表的所有权限。
revoke drop on user.address from 'newuser'@'localhost'; 废除这个用户对address表的删除权限。
例子: REVOKE SELECT ON *.* FROM 'pig'@'%';
注意: 假如你在给用户'pig'@'%'授权的时候是这样的(或类似的):GRANT SELECT ON test.user TO 'pig'@'%', 则在使用REVOKE SELECT ON *.* FROM 'pig'@'%';命令并不能撤销该用户对test数据库中user表的SELECT 操作.相反,如果授权使用的是GRANT SELECT ON *.* TO 'pig'@'%';则REVOKE SELECT ON test.user FROM 'pig'@'%';命令也不能撤销该用户对test数据库中user表的Select 权限.
具体信息可以用命令SHOW GRANTS FOR 'pig'@'%'; 查看.
7删除某个用户
drop user 'newuser'@'localhost';修改权限的时候一定要执行一下FLUSH PRIVILEGES 刷新一下权限;我就遇到过这个问题,后来百度了一下这个某个老外遇到问题的文章http://*.com/questions/5555328/error-1396-hy000-operation-create-user-failed-for-jacklocalhost%3E。