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! 
  • 相关阅读:
    android 75 新闻列表页面
    android 74 下载文本
    android 73 下载图片
    android 72 确定取消对话框,单选对话框,多选对话框
    android 71 ArrayAdapter和SimpleAdapter
    android 70 使用ListView把数据显示至屏幕
    maven如何将本地jar安装到本地仓库
    Centos6.7搭建ISCSI存储服务器
    解决maven打包编译出现File encoding has not been set问题
    MySQL 解决 emoji表情 的方法,使用utf8mb4 字符集(4字节 UTF-8 Unicode 编码)
  • 原文地址:https://www.cnblogs.com/shenjianping/p/13515117.html
Copyright © 2011-2022 走看看