MySQL用户创建、修改、授权等常用操作


经过两天的折腾,总算把博客整理完了,其中遇到了比较多的麻烦,总的来说一头雾水,但是这其中用到的命令还是备份下来

一般情况下,拿到数据库了,先做的就是修改root用户的密码

ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码'

接着查看mysql的版本,就目前来说,大的基本不变,但是免不了有些出入,具体我不记得,反正吃了亏

select version()

以下命令基于MySQL5.7,很多人喜欢用双引号,但是在linux上会报错,尽量用单引号

登录命令

mysql -u root -p

新建用户 ,创建test用户,密码是1234。

CREATE USER 'test'@'localhost' IDENTIFIED BY '1234'; #本地登录 
CREATE USER 'test'@'%' IDENTIFIED BY '1234'; #远程登录 
quit #退出
mysql -u test -p #重新登录,测试是否创建成功

为用户授权

a.授权格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by '密码';

b.登录MYSQL,这里以ROOT身份登录:

mysql -u root -p

c.为用户创建一个数据库(testDB):

create database testDB; 
create database testDB default charset utf8 collate utf8_general_ci;

d.授权test用户拥有testDB数据库的所有权限:

grant all privileges on testDB.* to 'test'@'localhost' identified by '1234'; 
flush privileges; #刷新系统权限表

e.指定部分权限给用户:

grant select,update on testDB.* to 'test'@'localhost' identified by '1234'; 
flush privileges; #刷新系统权限表

f.授权test用户拥有所有数据库的某些权限:

grant select,delete,update,create,drop on . to test@'%' identified by '1234'; #'%' 表示对所有非本地主机授权,不包括localhost

3、删除用户

mysql -u root -p 
Delete FROM mysql.user Where User='test' and Host='localhost'; 
flush privileges; 
drop database testDB;

删除账户及权限:

drop user 用户名@’%’; 
drop user 用户名@ localhost;

4、修改指定用户密码

mysql -u root -p 
update mysql.user set authentication_string=password('新密码') where User='test' and Host='localhost'; 
flush privileges;

以上为较靠谱的处理方式,至少我刚刚用过,记录备用。

声明:TIL|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA[ZH]协议进行授权

转载:转载请注明原文链接 - MySQL用户创建、修改、授权等常用操作


Life is very interesting. In the end, some of your greatest pains become your greatest strengths.