mysql用户管理

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

服务器上mysql的用户有两种:
1.  本地用户   从本机连接mysql,例如: mysql部署在A服务器上,从A上连接mysql的用户
2.  远程用户   从外部的服务器上连接mysql,例如: mysql部署在A服务器上,从B服务器上连接 A上的mysql的用户

那么mysql的用户信息保存在哪里呢 
mysql的用户信息保存在mysql库的user表中
mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> show tables like '%user%';
+--------------------------+
| Tables_in_mysql (%user%) |
+--------------------------+
| user                     |
+--------------------------+
1 row in set (0.00 sec)

1、查看user表中都有哪些用户
select user,host,password from user;  

 0.jpg

user列,显示的是用户名
host列,是定义从哪里连接mysql,  localhost、127.0.0.1、vm\_151\_252\_centos都代表本地连接,就是本地用户。
password,是用户密码列,为空,代表未设置密码

那来分析一下,这5条记录的意思
第一条,本地用root用户可以无密码登陆mysql                           对应命令: mysql -uroot 
第二条,本地用root用户,host是主机名可以无密码登陆mysql   对应命令: mysql -uroot -hVM_151_252_centos 
第三条,本地用root用户,host是127.0.0.1可以无密码登陆       对应命令: mysql -uroot -h127.0.0.1        
第四条,本地无需指定用户,可以无密码登陆mysql                    对应命令: mysql                                       
第五条,无需指定用户,host是主机名可以无密码登陆mysql      对应命令: mysql  -hVM_151_252_centos 

一般从本地连接mysql,默认使用localhost,可以将主机名对应的用户记录删除掉
delete from user where host='vm\_151\_252\_centos'; 

1.jpg

此时只剩下3个用户了
我们也不想本地不指定用户就能连接mysql的话,可以将最后一个用户也删除掉。
delete from user where host='localhost' and user='';   这条命令的意思是删除host是localhost并且user是空的用户

0.jpg

 

本地连接mysql,默认使用localhost,也可以将host是127.0.0.1的用户删除掉 
delete from user where host='127.0.0.1' ;

1.jpg

 

2、添加一个mysql用户
添加mysql用户的命令是grant
如果这个用户之前存在,则按照grant的参数更新这个用户的配置,
如果用户不存在,则新建这个用户。

语法:
grant all on *.* to root@localhost identified by 'bestwiz';      
flush privileges;

all 代表全部权限  
*.* 第一个*代表mysql中所有的库,第二个代表库中所有的表,所以这里是赋予所有库、所有表的全部权限的意思
to后面是指定的用户名
@符号后面是指定的连接地址,localhost代表本地连接,% 代表所有ip都可以连接,即外网连接
identified by  之后,单引号直间的字符,是给这个用户分配的密码,这里分配的密码是 bestwiz
grant 添加用户之后,立即跟上 flush privileges; 刷新权限表,使对这个用户的设置立即生效。


创建一个本地用户king, 只对love库下的全部表有所有权限,密码设置为123456
grant all on love.* to king@localhost identified by '123456';
flush privileges;

创建一个远程连接mysql的root用户,密码是mstsc   注意此时@后面就应该是%了 
grant all on *.* to root@'%' identified by 'mstsc';
flush privileges;

3、修改用户的密码
有两种方式可以修改,一个是grant命令进行修改,不再赘述
另一个是直接通过修改user表去实现:
update user set Password=PASSWORD('snow')  where user='root' and host='localhost';
flush privileges;
这条语句是将本地的root用户的密码修改成 snow

update user set Password=PASSWORD('snow')  where user='root' and host='%';
flush privileges;
这条语句是将远程用户root的密码修改成 snow

4、mysql用户的权限
mysql用户有很多种权限,一般都设置为 all,即赋予全部权限
如果想单独赋予某些权限,请参考下面的mysql 用户权限列表

0.jpg

 

如何查询一个用户都有哪些权限呢
show grants;   可以查询当前连接用户都有哪些权限
show grants for king@localhost;   可以查询特定用户都有哪些权限
select * from user where user='king' and host='localhot' \G;    也可以查询特定用户都有哪些权限

5、远程连接其它服务器上的数据库
例如A 服务器,IP 为 115.159.0.0 上面安装了mysql数据库,端口为3306,并且创建了远程连接的账号mstsc  
那在B服务器上连接A上的数据库,如此操作:
B服务器上执行
# mysql -h115.159.0.0  -P3306 -umstsc -pxxxx 
-h    指定要连接的远程服务器的IP地址
-P    指定要连接的远程数据库的端口号
-u    指定要连接的远程数据库的远程账号
-p    指定要连接的远程数据库的远程账号的密码

 

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
存储 关系型数据库 MySQL
【mysql】—— 用户管理
【mysql】—— 用户管理
|
4月前
|
SQL 关系型数据库 MySQL
⑤ 【MySQL】DCL语句 —— 用户管理、权限控制
⑤ 【MySQL】DCL语句 —— 用户管理、权限控制
34 0
|
6月前
|
SQL 关系型数据库 MySQL
【MYSQL基础】MYSQL用户管理
【MYSQL基础】MYSQL用户管理
52 1
|
2月前
|
关系型数据库 MySQL 数据库
MySQL技能完整学习列表9、用户管理和权限控制——1、创建和管理用户——2、权限授予和撤销
MySQL技能完整学习列表9、用户管理和权限控制——1、创建和管理用户——2、权限授予和撤销
43 0
|
7月前
|
存储 关系型数据库 MySQL
Mysql 用户管理
Mysql 用户管理
42 0
|
3月前
|
SQL 关系型数据库 MySQL
MySQL用户管理 用户权限控制(DCL语句)
MySQL用户管理 用户权限控制(DCL语句)
30 0
|
8月前
|
存储 关系型数据库 MySQL
Mysql 用户管理(创建、删除、改密、授予权限、取消权限)
Mysql 用户管理(创建、删除、改密、授予权限、取消权限)
217 0
|
9月前
|
存储 关系型数据库 MySQL
MySQL_11 用户管理和权限管理
MySQL 第十一节 用户管理和权限管理 内容分享。
66 0
|
6月前
|
SQL 安全 关系型数据库
MySQL操作之用户管理权限管理:(DC)(五)
MySQL操作之用户管理权限管理:(DC)(五)
35 0
|
8月前
|
关系型数据库 MySQL 数据库
mysql数据库用户管理和权限控制
mysql数据库用户管理和权限控制
66 0