1.“1130-Host is not allowed to connect to this MySQL server”
满世界的人都告诉你,到user表中把root + localhost的“localhost”修改为“%”;
满地球的人都告之:GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'rootpasswd' WITH GRANT OPTION(需要把rootpassword替换为真实的密码;
但是却没有人告诉你需要重启一下MySQL的服务;
2.mysqld: 未被识别的服务
重启mysql的时候发现了以上的错误,那是因为在/etc/init.d里面没有mysql的启动服务;在根目录项目使用“find -name mysql.server",将此文件拷贝到/etc/init.d中,然后改名为mysqld或者其他什么名称即可。
3.can't connet local mysql to "/var/.../mysql.sock"
根目录”find -name mysql.sock",找到此文件以及路径 然后通过“mysql --socket=XXX
”将socket路径替换;
4.结合步骤:
mysql --socket=/tmp/mysql.sock
(有时可能会需要你输入mysql -u root -p --socket=/tmp/mysql.sock,然后输入密码即可)
mysql> use mysql
mysql> UPDATE mysql.user SET Password=PASSWORD('newpwd') Where user='root';(注意分号)
mysql> update user set host='%' where host='localhost' and user='root';
之后重启即可;
mysql -u root -p --socket=/tmp/mysql.sock
之后会让你录入你之前改的密码
改变了localhost为%之后还有问题,那就是它失去了在本机登陆的权限;这需要你使用客户端工具在创建一个localhost的权限;或者就不需要在本机上登录;
至此,root用户密码可以重置。
5. Cannot load from mysql.proc
没有升级,应该是因为备份增加参数-R导致的;
1)find -name mysql_upgrade:定位升级文件位置
2)cd到文件位置;
3)mysql_upgrade -u root -p + Enter,录入密码即可;
4)service mysqld restart