linux忘记mysql密码处理方法

linux忘记mysql密码处理方法:

# /etc/init.d/mysql stop

# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &

# mysql -u root mysql

mysql> update user set password=password('newpassword') where user='root';

mysql> flush privileges;

mysql> quit

# /etc/init.d/mysql restart

# mysql -uroot -p

enter password: <输入新设的密码newpassword>

mysql>

修改的用户都以root为列。

一、拥有原来的myql的root的密码;

方法一:

在mysql系统外,使用mysqladmin

# mysqladmin -u root -p password "test123"

Enter password: 【输入原来的密码】

方法二:

通过登录mysql系统,

# mysql -uroot -p

Enter password: 【输入原来的密码】

mysql>use mysql;

mysql> update user set password=passworD("test") where user='root';

mysql> flush privileges;

mysql> exit;

方法三:

# /etc/init.d/mysql stop

# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &

# mysql -u root mysql

mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';

mysql> FLUSH PRIVILEGES;

mysql> quit

# /etc/init.d/mysql restart

# mysql -uroot -p

Enter password: <输入新设的密码newpassword>

mysql> grant all on *.* to root@'%' identified by '密码';

方法四:

直接使用/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>

mysql>

二、忘记原来的myql的root的密码;

首先,你必须要有操作系统的root权限了。要是连系统的root权限都没有的话,先考虑root系统再走下面的步骤。

类似于安全模式登录系统,有人建议说是pkill mysql,但是我不建议哈。因为当你执行了这个命令后,会导致这样的状况:

/etc/init.d/mysqld status

mysqld dead but subsys locked

这样即使你是在安全模式下启动mysql都未必会有用的,所以一般是这样/etc/init.d/mysqld stop,如果你不幸先用了pkill,那么就start一下再stop咯。

# mysqld_safe --skip-grant-tables &

&,表示在后台运行,不再后台运行的话,就再打开一个终端咯。

# mysql

mysql> use mysql;

mysql> UPDATE user SET password=password("test123") WHERE user='root';

mysql> flush privileges;

mysql> exit;

##本来mysql是不分大小写的,但是这个是修改的mysql中的mysql数据库的具体的值,要注意到。

相关推荐