zoukankan      html  css  js  c++  java
  • MySQL用户密码管理

    一、数据库安全策略

    MySQL在安装过后,默认的root管理员密码为空,这是不安全的,我们在单实例安装后做了一些操作,如:

    • 为root用户设置密码
    • 删除一些无用的账户
    • 删除默认存在的test数据库
    • 添加了system管理员,其权限与root用户等价

    (一)为管理员设置密码

    1、单实例

    # 给无密码用户设置密码
    [root@hadoop-slave1 /]# mysqladmin -uroot password'123456'

    2、多实例

    [root@hadoop-slave1 /]# mysqladmin -uroot -p'123456' password'123456' -S /data/3307/mysql.sock 

    上述命令均是在linux命令行,而非MySQL命令行。

    (二)修改管理员密码

    1、命令行外修改法(法一)

    [root@hadoop-slave1 /]# mysqladmin -uroot -p'123456' password'123456'

    2、sql语句修改法(法二)

    mysql> update mysql.user set password=password("123456") where user='root' and host='localhost';

    这种方法是和密码丢失后,通过--skip-grant-table启动的数据库服务修改密码。

    注意:

    • 必须指定where语句
    • 必须指定password方法来进行加密

    3、password修改(法三)

    数据库启动后,root密码为空,马上为其设置密码:

    mysql> set password=password('123456');

    这种方法不适合--skip-grant-table方式修改密码。

    二、修改丢失的数据库密码 

    (一)单实例修改丢失的数据库密码 

    1、停止数据库服务

    首先应该停止正在运行的数据库服务:

    [root@hadoop-slave1 /]# /etc/init.d/mysqld stop
    Shutting down MySQL. SUCCESS! 

    2、忽略授权方式启动

    密码已经丢失,使用--skip-grant-table忽略授权方式登录,无需密码:

    [root@hadoop-slave1 /]# mysqld_safe --skip-grant-table --user=mysql &

    3、登录

    此时,已经无需密码了,直接登录即可:

    [root@hadoop-slave1 ~]# mysql -uroot -p

    4、修改root密码

    修改root密码为新密码:

    mysql> update mysql.user set password=password("123456") where user='root' and host='localhost';
    Query OK, 1 row affected (0.00 sec)
    Rows matched: 1  Changed: 1  Warnings: 0
    
    mysql> flush privileges;
    Query OK, 0 rows affected (0.01 sec)

    5、重启服务

    首先关闭现有服务,然后重启:

    # 关闭现有服务
    [root@hadoop-slave1 ~]# mysqladmin -uroot -p123456 shutdown
    
    # 重启服务
    [root@hadoop-slave1 ~]# /etc/init.d/mysqld start
    Starting MySQL.. SUCCESS! 

    然后就可以使用新密码进行登录。

    (二)多实例修改丢失的数据库密码 

    1、停止数据库服务

    首先应该停止正在运行的数据库服务:

    [root@hadoop-slave1 /]# killall mysqld 

    2、忽略授权方式启动

    密码已经丢失,使用--skip-grant-table忽略授权方式登录,无需密码:

    [root@hadoop-slave1 /]# mysqld_safe --defaults=/data/3307/my.cnf --skip-grant-table --user=mysql &

    3、登录

    此时,已经无需密码了,直接登录即可:

    [root@hadoop-slave1 ~]# mysql -uroot -p -S /data/3307/mysql.sock

    4、修改root密码

    修改root密码为新密码:

    mysql> update mysql.user set password=password("123456") where user='root' and host='localhost';
    Query OK, 1 row affected (0.00 sec)
    Rows matched: 1  Changed: 1  Warnings: 0
    
    mysql> flush privileges;
    Query OK, 0 rows affected (0.01 sec)

    5、重启服务

    首先关闭现有服务,然后重启:

    # 关闭现有服务
    [root@hadoop-slave1 ~]# killall mysqld
    # 重启服务
    [root@hadoop-slave1 ~]# /data/3307/mysql start
    Starting MySQL.. SUCCESS! 
  • 相关阅读:
    共享
    mac下搭建基于vue-cli 3.0的Element UI 项目
    rsync | scp文件同步命令使用
    在centos 6.9下Protocol Buffers数据传输及存储协议的使用(python)
    mysql中group by存在局限性探讨(待续)
    Protocol Buffers数据传输及存储协议简单使用
    简单数据库分表的思路
    mysql索引优化
    黑苹果相关资源
    JS 如何获取当前上一个月、下一个月和月份所含天数
  • 原文地址:https://www.cnblogs.com/shenjianping/p/13515117.html
Copyright © 2011-2022 走看看