当我们使用MySQL数据库时,有时候可能会遇到"mysql server is running with the --skip-grant-tables option"的提示信息。这种提示信息的意思是MySQL服务器正在运行时跳过了授权表。通常这种情况发生在我们忘记MySQL的root密码时,因为授权表的内容包括用户名和密码。
针对这种情况,整理了以下针对Ubuntu系统的攻略:
1. 停止MySQL服务
如果MySQL服务已经在运行,我们首先要停止它,以便我们可以通过命令行访问并重新设置密码。
$ sudo service mysql stop
2. 启动MySQL服务
我们需要使用--skip-grant-tables选项启动MySQL服务。
$ sudo mysqld_safe --skip-grant-tables &
这个命令将MySQL服务器启动,并跳过授权表,以便我们可以在没有密码的情况下访问MySQL数据库。
3. 以root用户身份登录MySQL
$ mysql -u root
4. 更改root用户密码
我们现在可以更改root用户密码了,使用以下命令:
mysql> use mysql;
mysql> update user set authentication_string=password('NewPassword') where user='root';
mysql> flush privileges;
mysql> quit;
这样我们就能成功更改root用户的密码了。
5. 重启MySQL服务
现在我们已经成功更改了root用户密码了,我们需要停止MySQL服务并重新启动它。
$ sudo service mysql stop
$ sudo service mysql start
示例说明
示例1:更改密码
假设我们忘记了MySQL的root密码,可以按照以上攻略通过跳过授权表的方式登录MySQL,并成功修改root用户的密码。
示例2:重置密码
假设MySQL的root用户密码被恶意修改了,可以按照以上攻略通过跳过授权表的方式登录MySQL,并成功重置root用户的密码。这样可以避免黑客有机会通过该密码进入系统。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:mysql server is running with the –skip-grant-tables option - Python技术站