记一下,原来和linux下的解决方法不一样。
代码如下 | 复制代码 |
# killall -TERM mysqld //先杀死所有的mysql进程 # /usr/local/bin/mysqld_safe --skip-grant-tables & |
会返回
代码如下 | 复制代码 |
100723 22:19:53 mysqld_safe Logging to '/var/db/mysql/FreeBSD.err'. 100723 22:19:53 mysqld_safe Starting mysqld daemon with databases from /var/db/mysql 100723 22:19:53 mysqld_safe mysqld from pid file /var/db/mysql/FreeBSD.pid ended [1]Done mysqld_safe -skip-grant-tables |
如果出现这信息就成功一半了。
代码如下 | 复制代码 |
# mysql -uroot mysql> use mysql; Database changed mysql> update user set password=PASSWORD('密码') where user='root' Query OK, 0 rows affected (0.00 sec) Rows matched: 4 Changed: 0 Warnings: 0 mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) |
另一种找回root密码方案
直接使用/etc/mysql/debian.cnf文件中[client]节提供的用户名和密码:
代码如下 | 复制代码 |
# mysql -udebian-sys-maint -p enter password: <输入[client]节的密码> mysql> update user set password=password('newpassword') where user='root'; mysql> flush privileges; mysql> quit # mysql -uroot -p enter password: <输入新设的密码newpassword> |
时间: 2024-09-11 18:02:38