ubuntu 修改mysql中root用户密码

ubuntu 修改mysql中root用户密码

这段时间整理我的测试库,然后才发现我居然把root密码忘记了,尝试了N多次后还是没能成功,没办法只能另辟蹊径找别的方法了。

在安全模式下登陆mysql,修改root密码

  1. 将mysql服务关闭
	$ sudo /etc/init.d/mysql stop
    [sudo] password for haha:
    [ ok ] Stopping mysql (via systemctl): mysql.service.

这儿就将mysql服务停止了。

  1. 启用安全模式
	$ sudo /usr/bin/mysqld_safe --skip-grant-tables --skip-networking &

到这一步可能会报错,错误为 mysqld_safe Directory ‘/var/run/mysqld’ for UNIX socket file don’t exists.
不要方,尝试输入以下命令即可

	$ sudo mkdir -p /var/run/mysqld
	$ sudo chown mysql:mysql /var/run/mysqld

再次输入,进入安全模式

	$ sudo /usr/bin/mysqld_safe --skip-grant-tables --skip-networking &

到这儿终端会打印一句 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql,这样就没问题了,然后尝试无密码登陆mysql

  1. 无密码登陆mysql
	$ mysql -uroot

进入mysql命令页

  1. 修改root密码
	> use mysql;
	
	> update user set authentication_string=PASSWORD("这里输入你要改的密码") where User='root'; 
	> update user set plugin="mysql_native_password"; 
	
	> flush privileges; 
	> quit;
  1. 退出安全模式
	$ sudo /etc/init.d/mysql stop
	[ ok ] Stopping mysql (via systemctl): mysql.service.

有时候这样可能不能完全退出,这就需要强制杀死进程了

	$  ps -ef | grep mysqld
	   root       874 31412  0 10:19 pts/0    00:00:00 sudo /usr/bin/mysqld_safe --skip-grant-tables --skip-		  networking
       root       875   874  0 10:19 pts/0    00:00:00 /bin/sh /usr/bin/mysqld_safe --skip-grant-tables --skip-networking
   	   mysql     1270   875  0 10:19 pts/0    00:00:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib/mysql/plugin --user=mysql --skip-grant-tables --skip-networking --log-error=/var/log/mysql/error.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/run/mysqld/mysqld.sock --port=3306 --log-syslog=1 --log-syslog-facility=daemon --log-syslog-tag=
	$ sudo kill -9 874
	$ sudo kill -9 875
	$ sudo kill -9 1270
  1. 重启mysql服务
	$ sudo /etc/init.d/mysql start # reset mysql
  1. 使用root用户登陆
	$ mysql -uroot -p

这样就OK啦!!!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值