专栏首页电光石火mysql用户管理

mysql用户管理

服务器上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;  

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'; 

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

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

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 用户权限列表

如何查询一个用户都有哪些权限呢 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    指定要连接的远程数据库的远程账号的密码

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • mysql用户管理

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

    似水的流年
  • mysql用户管理

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

    似水的流年
  • centos下完全卸载mysql

    yum方式安装的mysql 1、yum remove mysql mysql-server mysql-libs compat-mysql51 2...

    似水的流年
  • mysql用户管理

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

    似水的流年
  • mysql用户管理

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

    似水的流年
  • 基于Centos6.5源码编译安装mysql-5.7.17

    基于Centos6.5源码编译安装mysql-5.7.17过程详解 由于工作需要,需要在centos6.5服务器上安装mysql5.7,如下是详细安装过程。

    冬天里的懒猫
  • 服务器的Mysql初始化设置

    继上篇博客记录了服务器的初始化安全设置之后,本篇文章会记录Mysql数据库的初始化安全设置。在操作mysql之前,最好先行备份,毕竟有“备”无患嘛。

    Originalee
  • MySQL 主从同步架构中你不知道的“坑”

    结论:此种模式下此配置对默认的库进行不同步数据库,需要增加相关表的参数,最后测试得出不加replicate-ignore-db = mysql参数,同样对默认的...

    民工哥
  • 排障集锦:九九八十一难之第七难!mysql数据库登录密码忘记了

    vim /etc/my.cnf 进入到配置文件 skip-grant-tables 加上此字段 跳过密码直接登录 登录后对mysql库中的user...

    不吃小白菜
  • mysql 3.x拿webshell

    mysql> Create TABLE demo (sanr text NOT NULL);

    py3study

扫码关注云+社区

领取腾讯云代金券