现在mysql出问题了,出现的问题是:
1:客户端连接:Can't connect to MySQL server on '10.14.39.220'
2.本地服务器登录,mysql -uroot -phqn
ERROR 1045 (28000):Access denied for user 'root'@'localhost' (using Password:YES)
无法登录mysql
3.停止mysql: sudo /etc/init.d/mysql stop
Stopping MySQL database server: mysqld failed!
我的解决方法:独到解决方法,由于没法正常停止mysql只能够强制停止,kill线程的方法。
1.找到线程:
ps aux | grep mysql
2.杀死线程:sudo kill 9150
3.开启跳跃授权模式
mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
4.登录mysql
mysql -u root mysql
下面是截图:
登录mysql之后:
查看mysql账户密码:
select host,user,password from mysql.user;
3、命令行修改root密码:
mysql> UPDATE mysql.user SET password=PASSWORD('新密码') WHERE User='root';
mysql> FLUSH PRIVILEGES;
mysql> UPDATE mysql.user SET password=PASSWORD('新密码') WHERE User='root';
mysql> FLUSH PRIVILEGES;
4、很久都么有解决的问题,被我弄好了,我的mysql不要再出问题了。
详细叙述解决过程。
非授权模式登录到musql之后,接着我就查看了mysql 的账户和密码:
(1)
select host,user,password from mysql.user;
(2)结果大出我所料,于是我就修改了密码
mysql> UPDATE mysql.user SET password=PASSWORD('geopass') WHERE User='root';
mysql> FLUSH PRIVILEGES;
mysql> FLUSH PRIVILEGES;
修改之后查看密码,发现根本没有变化,我就怀疑是否要重启mysql.
(3)出来之后,我试着测试密码变化与否,果然,密码变成我所改的密码了。
所以我就试着更改远程登陆的权限,变成任何人都可以登陆;
mysql
>
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION;
mysql
>
FLUSH PRIVILEGES;
mysql
>
EXIT
这次竟然奇迹般修改成功了,以前都无法修改的。
(4)
然后我就退出mysql,想常识重启myqsl
sudo /etc/init.d/mysql stop;
重启失败了
接着就尝试强制杀死mysql进程
ps aux | grep mysql
sudo kill 13027
结果杀死也失败了
我就重新查看mysql进程,结果少了一个进程,少的那个并不是我杀死的进程。
然后我就阐释stop mysql进程
sudo /etc/init.d/mysql stop;
居然成功stop 了
(5)开启mysql进程
查看进程,发现mysql进程消失了。
我就正常登陆mysql
mysql -uroot -pgeopass
成功登陆进去了
(6)查看密码,我仍然不知道密码是啥,不过客户端可以访问了