linux/centos给Mysql创建用户、授权、查看、删除、修改密码、撤销权限
root权限高,安全性考虑,一般只允许本地(本机)访问,不建议直接用于远程,那就需要创建权限用户来远程连接数据库。
步骤1:登录数据库
mysql -uroot -p 或 mysql -u root -p
-u表示user(用户名),-p表示password(密码)需要输入密码,如下效果
如果是第一次登录,则直接回车;
登录数据库成功后如下:
步骤2:创建数据库用户
CREATE USER erp IDENTIFIED BY 'erpdatapwd';
CREATE USER erp@localhost IDENTIFIED BY 'erpdatapwd';
上一句命令创建用户可用于其他远程数据库连接工具连接,
下一句仅允许本地(本机)登录,
依情况而定。
步骤3:给创建的数据库用户指定权限
GRANT ALL PRIVILEGES ON *.* TO user;
GRANT ALL PRIVILEGES ON *.* TO user;@localhost
步骤4:查看用户
select host,user from mysql.user;
上图说明我们创建的数据用户已完成,下图为数据库工具连接情况,表示远程连接成功!
步骤5:删除数据用户
先输入步骤4个查看用户,如下图,我们删除下图中的用户名为user的用户:
DROP USER ‘user’@'%';
从图中可以看到,用户名是‘user’,host是%
执行完查看下,如下图:
用户删除成功!
顺便刷新下权限
flush privileges;
【非必需】拓展延伸:以上部分可用其他命令操作:
如查看用户: select user from mysql.user;
如查看用户所有: select * from mysql.user;
如删除用户:
delete from mysql.user where user=‘XXX’ and host=’%’;
根据以上方式,设置修改用户密码:
SET PASSWORD FOR ‘username’@‘host’ = PASSWORD(‘newpassword’);
或者
update user set password = password(‘crmdatapwd’);
设置当前用户的密码:
SET PASSWORD = PASSWORD(‘newpassword’);
撤销用户权限:
命令:REVOKE privileges ON database.tablename FROM ‘username’@‘host’;
注意:
若给权限是这样写: GRANT SELECT ON . TO ‘erp’@‘%’;
则用 REVOKE SELECT ON database.tablename TO ‘erp’@‘%’;是不能撤销用户erp 对 database.tablename中的SELECT erp的。
相反的 GRANT SELECT ON database.tablename TO ‘erp’@‘%’;授予权限
用 REVOKE SELECT ON . FROM ‘erp’@‘%’;也是不能用来撤销用户erp 对database库的tablename 表的SELECT 权限