概述:
在生产环境中,针对mysql数据库服务我都需要对权限控制及密码控制,主要防止任意主机、任意用户恶意登录操作,但是有些时候我们做了这些安全策略工作,也会出现忘记密码,或者密码被人恶意修改,现在所说的情况都有可能发生的,那出现这些异常问题我应该怎么处理你?下面说说mysql密码初始化的方法:
MySQL密码初始化恢复方法(1)--通过my.cnf配置文件跳过授权表登录方法
1.停止mysql服务(建议先停止mysql服务)# service mysqld stop
2.修改my.cnf配置文件加入"skip-grant-tables"选项# vim /etc/mysql/my.cnf
[mysqld]
skip-grant-tables
3.启动mysql服务# service mysqld start
4.登陆mysql修改root密码mysql > USE mysql;
mysql > UPDATE user SET Password = password('gzsamlee-mysql') WHERE User = 'root';
mysql > FLUSH PRIVILEGES;
5.在my.cnf配置文件中删除或注释"skip-grant-tables"选项# vim /etc/mysql/my.cnf
[mysqld]
#skip-grant-tables
6.重启mysql服务即可生效新的密码# service mysqld restart
MySQL密码初始化恢复方法(2)--通过启动服务跳过授权表登录方法
1.停止mysql服务# service mysqld stop
2.修改配置文件 加入--skip-grant-tables --skip-networking# vim /etc/init.d/mysqld
$bindir/mysqld_safe --skip-grant-tables --skip-networking --datadir="$datadir" --pid-file="$mysqld_pid_file_path" $other_args >/dev/null 2>&1 &
wait_for_pid created "$!" "$mysqld_pid_file_path"; return_value=$?
3.启动mysql服务# service mysqld start
4.修改管理员密码mysql > USE mysql;
mysql > UPDATE user SET Password = password('gzsamlee-mysql') WHERE User = 'root';
mysql > FLUSH PRIVILEGES;
5.停止mysql服务# service mysqld stop
6.修改配置文件 去掉--skip-grant-tables --skip-networking# vim /etc/init.d/mysqld
$bindir/mysqld_safe --datadir="$datadir" --pid-file="$mysqld_pid_file_path" $other_args >/dev/null 2>&1 &
wait_for_pid created "$!" "$mysqld_pid_file_path"; return_value=$?
7.启动mysql服务# service mysqld start