一、用户管理

  1. 默认:用户root
  2. 创建用户:
  3. use mysql;
  4. create user 'alex'@'192.168.193.200' identified by '123456';
  5. 创建了alex用户,密码为123456,只能在ip192.168.193.200上连接
  6. create user 'egon'@'192.168.193.%' identified by '123456';
  7. 创建了egon用户,密码为123456,只能在ip192.168.193.上连接
  8. create user 'xuxu'@'%' identified by '123456';
  9. 创建了xuxu用户,密码为123456,能在任何ip上连接
  10. 删除用户:
  11. drop user 'alex'@'%';
  12. 修改密码:
  13. set password for alex’@’%’=password(‘新密码’)
  14. 对用户进行相关操作后记得执行命令
  15. flush privileges;
  16. 查看用户:
  17. select user,host from user;

二、权限管理

  1. 授权:
  2. 权限
  3. #针对所有库的授权:*.*
  4. grant select on *.* to 'egon1'@'localhost' identified by '123'; #只在user表中可以查到egon1用户的select权限被设置为Y
  5. #针对某一数据库:db1.*
  6. grant select on db1.* to 'egon2'@'%' identified by '123'; #只在db表中可以查到egon2用户的select权限被设置为Y
  7. #针对某一个表:db1.t1
  8. grant select on db1.t1 to 'egon3'@'%' identified by '123'; #只在tables_priv表中可以查到egon3用户的select权限
  9. #针对某个字段
  10. grant select (id,name),update (age) on db1.t3 to 'egon4'@'localhost' identified by '123';
  11. #可以在tables_priv和columns_priv中看到相应的权限
  12. grant select,insert,update on s1.* to 'alex'@'192.168.193.200';
  13. grant all privileges on db1.t1 to 'alex'@'%';
  14.  
  15. 去掉权限
  16. revoke all privileges on db1.t1 from 'alex'@'%';
  17.  
  18. 记得使用命令后每次刷新授权
  19. flush privileges;
  20. 查看用户权限
  21. show grants for 用户@'10.0.0.%';
  22. show grants for root@'192.168.1.2';

三、密码管理

1.mysql修改用户密码

方法1: 用SET PASSWORD命令

首先登录MySQL。

格式:mysql> set password for 用户名@localhost = password('新密码'); 
例子:mysql> set password for root@localhost = password('123');

方法2:用mysqladmin

格式:mysqladmin -u用户名 -p旧密码 password 新密码 
例子:mysqladmin -uroot -p123456 password 123

注意:这里是在bash中输入命令,而不是mysql中输入命令

方法3:用UPDATE直接编辑user表

首先登录MySQL。

mysql> use mysql; 
mysql> update user set password=password('123') where user='root' and host='localhost'; 
mysql> flush privileges;

2.忘记root密码时的处理

1)停数据库
/etc/init.d/mysqld stop

windows下则输入(需要设置环境变量,或者在mysqld所处的文件夹下输入命令)

mysqld stop

2)启动数据库为无密码验证模式

linux下输入命令
mysqld_safe --skip-grant-tables --skip-networking &

windows下则输入

mysqld --skip-grant-tables
mysql -u root
update mysql.user set authentication_string=PASSWORD('456') where user='root' and host='localhost';

刷新权限(必须步骤):flush privileges;
退出mysql,然后重启mysql
/etc/init.d/mysqld restart

#注意,mysql各个版本的安全策略不一样,版本不一样修改密码的方式可能不一样。

Mysql用户、权限、密码管理的更多相关文章

  1. [转帖] mysql 用户 权限 密码等操作记录

    前言 From :https://blog.csdn.net/yu12377/article/details/78214336 mysql5.7版本中用户管理与以前版本略有不同,在此记录,以备忘 登陆 ...

  2. (转)mysql账号权限密码设置方法

    原文:http://www.greensoftcode.net/techntxt/2013410134247568042483 mysql账号权限密码设置方法 我的mysql安装在c:\mysql 一 ...

  3. MySQL——用户与密码

    mysql安装完成之后,在/var/log/mysqld.log文件中给root生成了一个默认密码.通过下面的方式找到root默认密码,然后登录mysql进行修改: grep 'temporary p ...

  4. mysql用户权限操作

    mysql用户权限操作1.创建用户mysql -urootcreate database zabbix default charset utf8;grant all on zabbix.* to za ...

  5. mysql用户权限

    mysql> show grants for root@'localhost';+-------------------------------------------------------- ...

  6. MYSQL用户权限管理学习笔记

    MYSQL 用户管理 1.权限表 MYSQL是一个多用户的数据库,MYSQL的用户可以分为两大类: (1)       超级管理员用户(root),拥有全部权限 (2)       普通用户,由roo ...

  7. Mysql 用户权限管理

    1. MySQL 权限介绍 mysql中存在4个控制权限的表,分别为user表,db表,tables_priv表,columns_priv表,我当前的版本mysql 5.7.22 . mysql权限表 ...

  8. Mysql 用户权限管理--从 xxx command denied to user xxx

    今天遇到一个mysql 权限的问题,即标题所述  xxx command denied to user xxx,一般mysql 这种报错,基本都属于当前用户没有进行该操作的权限,需要 root 用户授 ...

  9. mysql 用户权限管理详细

    用户管理 mysql>use mysql; 查看 mysql> select host,user,password from user ; 创建 mysql> create user ...

  10. MySQL 用户登录密码和远程登录权限问题

    1.mysql数据库,忘记root用户登录密码. 解决如下: a.重置密码 #/etc/init.d/mysqld stop #mysqld_safe --user=mysql --skip-gran ...

随机推荐

  1. JVM学习第一篇思考:一个Java代码是怎么运行起来的-上篇

    JVM学习第一篇思考:一个Java代码是怎么运行起来的-上篇 作为一个使用Java语言开发的程序员,我们都知道,要想运行Java程序至少需要安装JRE(安装JDK也没问题).我们也知道我们Java程序 ...

  2. docker创建和使用mysql

    container和image是两种不同的概念,image即指存在的镜像,container指docker运行起来后image的实例. 当使用docker kill 把某个正在运行的实例kill掉之后 ...

  3. docker部署的nginx非80端口无法访问

    请检查nginx容器是否只开启了80端口映射!!! 请检查nginx容器是否只开启了80端口映射!!! 请检查nginx容器是否只开启了80端口映射!!! 如果你访问的端口在nignx容器已经开启了端 ...

  4. Mac nasm 汇编入门

    下载 brew install nasm code SECTION .data msg: db "hello world", 0x0a len: equ $-msg SECTION ...

  5. AcWing 1252. 搭配购买

    #include<bits/stdc++.h> #define N 10010 using namespace std; int fa[N],v[N],pr[N]; int vv[N],p ...

  6. 安卓手机改造服务器——解决chroot下无法使用systemctl

    在Linux Deploy中安装的CentOS7无法使用systemctl命令,没关系我们有其他办法 写在前面 对于这个问题,我也是第一次遇见.并没有深入研究,所有如果有哪些地方有问题,欢迎指正. 问 ...

  7. 【重学Java】可变参数

    可变参数 可变参数[应用] 可变参数介绍 可变参数又称参数个数可变,用作方法的形参出现,那么方法参数个数就是可变的了 方法的参数类型已经确定,个数不确定,我们可以使用可变参数 可变参数定义格式 修饰符 ...

  8. 26 bash shell中的信号

    当没有任何捕获时,一个交互式 Bash Shell 会忽略 SIGTERM(发送到进程的 TERM 信号用于要求进程终止) 和 SIGQUIT(当用户要求进程执行 core dump 时,QUIT 信 ...

  9. Message /index.jsp (line: [17], column: [45]) The JSP specification requires that an attribute name is preceded by whitespace

    Error: Message /index.jsp (line: [17], column: [45]) The JSP specification requires that an attribut ...

  10. 使用xcode实现IM的那些坑

    想用xcode基于XMPP实现即时通讯,mac必须安装openfire(xmpp服务器),mysql(本地数据库,用于配置openfire),JDK(打开openfire必须本地具备java环境),x ...