问题1:ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var mysql 启动不了
1、先查看 /etc/rc.d/init.d/mysqld status 看看m y s q l 是否已经启动.
另外看看是不是权限问题.
2、确定你的mysql.sock是不是在那个位置,
mysql -u 你的mysql用户名 -p -S /var/lib/mysql/mysql.sock
3、试试:service mysqld start
4、如果是权限问题,则先改变权限 #chown -R mysql:mysql /var/lib/mysql
[root@localhost ~]# /etc/init.d/mysqld start
启动 MySQL: [ 确定 ]
[root@localhost ~]# mysql -uroot -p
问题2:Host is not allowed to connect to this MySQL server
其实就是我们的MySQL不允许远程登录,所以远程登录失败了,解决方法如下:
1、在装有MySQL的机器上登录MySQL mysql -u root -p密码
2、执行use mysql;
3、执行update user set host = '%' where user = 'root';这一句执行完可能会报错,不用管它。
4、执行FLUSH PRIVILEGES;
经过上面4步,就可以解决这个问题了。
问题3:MySQL for Linux错误 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
MySQL for Linux错误 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
1、重置密码的第一步就是跳过MySQL的密码认证过程,方法如下:
#vim /etc/my.cnf(注:windows下修改的是my.ini)
在[mysqld]后面任意一行添加“skip-grant-tables”用来跳过密码验证的过程,
保存文档并退出:#:wq
2、接下来我们需要重启MySQL:
#/etc/init.d/mysql restart(有些用户可能需要使用#/etc/init.d/mysqld restart)
3、重启之后输入#mysql即可进入mysql。
4、接下来就是用sql来修改root的密码
mysql> use mysql;
mysql> update user set password=password("你的新密码") where user="root";
mysql> flush privileges; //感觉加了这条不好使
mysql> quit
到这里root账户就已经重置成新的密码了。
5.编辑my.cnf,去掉刚才添加的内容,然后重启MySQL。