characters

启动修改丢失的MySQL单实例root的密码方式

首先停止MySQL进程

[root@localhost ~]# /etc/init.d/mysqld stop Shutting down MySQL. [确定]

使用 --skip-grant-tables 参数启动MySQL,忽略授权登陆验证,如下

[root@localhost ~]# /usr/local/mysql/bin/mysqld_safe --skip-grant-tables --user=mysql & [root@localhost ~]# mysql #这里直接使用mysql登录,然后再使用上面的方法修改用户密码 [root@localhost ~]# /usr/local/mysql/bin/mysqladmin shutdown -uroot -p # 使用mysqladmin关闭mysqld进程 Enter password: [root@localhost ~]# service mysqld start # 再次重新登录

多实例MySQL启动修改用户root丢失密码的方法

  • 关闭MySQL

killall mysqld 或者 /user/local/mysql/bin/mysqladmin -uroot -p shutdown -S /usr/local/mysql/data/3306/mysql.sock
  • 启动时加额外的配置文件my.cnf和 --skip-grant-tables参数

/usr/local/mysql/bin/mysqld_safe --defaults-file=/usr/local/mysql/data/3306/my.cnf --skip-grant-table &
  • 登录并修改密码

mysql -S /usr/local/mysql/data/3306/mysql.sock # 无密码登录MySQL mysql> update mysql.user set password=password('aaaaaa') where user='root' and host="localhost"; mysql> flush privileges;
  • 关闭进程并重新开启进程进行测试修改结果

[root@localhost ~]# mysqladmin shutdown -S /usr/local/mysql/data/3306/mysql.sock -uroot -p [root@localhost ~]# /usr/local/mysql/data/3306/mysqld start Starting MySQL... mysql -S /data/3306/mysql.sock -uroot -p


Previous article: Next article: