我早就忘记了我的一个盒子上root用户的密码.有没有办法我可以更改它而无需登录到实例,或者我是否必须重新安装?
解决方法:
步骤1
停止数据库:
shell> /etc/init.d/mysql stop
第2步
重启数据库
>没有密码autentification
>没有连接到网络
只能通过它的sock文件’/var/lib/mysql/mysql.sock’访问数据库.
shell> mysqld --user=mysql --pid-file=/var/lib/mysql/mysqld.pid \
--socket=/var/lib/mysql/mysql.sock --datadir=/var/lib/mysql \
--skip-grant-tables --skip-networking &
第3步
连接数据库并更改密码:
shell> mysql --database mysql --socket=/var/lib/mysql/mysql.sock
如果您愿意,请显示所有用户:
mysql> select User, password from user;
设置新密码:
mysql> update user set password=password('NEW PASS') WHERE User='USERNAME';
保留数据库连接:
mysql> exit
第4步
正常重启数据库服务器.
shell> kill `cat /var/lib/mysql/mysqld.pid`
shell> /etc/init.d/mysql start
标签:mysql
来源: https://codeday.me/bug/20190726/1548697.html