Mysql根本无法连接

时间:2015-07-27 10:23:11

标签: mysql

虽然本论坛中很少有人问过这个问题但我无法解决这个问题

我在Linux RedHat 6上安装了MySQL 5.6

我可以按如下方式启动mysql守护进程

[root@oc3855733574 ~]# /etc/init.d/mysqld start
Starting mysqld:                                           [  OK  ]

我使用' su - root'从终端连接。发出以下命令

[root@oc3855733574 ~]# mysql -u root -p -h localhost
Enter password: 
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

/etc/my.cnf在我的系统上如下

[client]    ------> Added by me
user=root
password=u8vkdgrv

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

# Recommended in standard MySQL setup
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

即使我尝试过其他一些用户' mysql -u xxxxx -p'通过提供正确的密码,但没有任何工作

请帮我解决这个问题,我是My SQL的新手

2 个答案:

答案 0 :(得分:2)

如果你是MySQL的新手,我建议在你的服务器上安装phpMyAdmin来管理你的数据库和权限。

解决方案1 ​​phpMyAdmin:

使用root登录到服务器控制台并运行以下命令:

rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm 

然后

yum --enablerepo=remi install phpMyAdmin

最后,编辑配置以允许访问。

nano /etc/httpd/conf.d/phpMyAdmin.conf 

搜索127.0.0.1并替换为您的服务器IP地址

最终命令重启Apache:

service httpd restart

现在使用根信息从浏览器访问phpMyAdmin:

http://serverIP/phpMyAdmin/

或者要解决您的问题(恢复MySQL密码),请按照以下命令操作:

sudo /etc/init.d/mysql stop

然后

sudo /etc/init.d/mysqld stop

下一步我们需要以安全模式启动MySQL - 也就是说,我们将启动MySQL但跳过用户权限表。再次注意,您需要对这些命令具有sudo访问权限,因此您无需担心任何用户能够重置MySQL root密码:

sudo mysqld_safe --skip-grant-tables &

我们现在需要做的就是登录MySQL并设置密码。

mysql -u root

注意:此阶段不需要密码,因为当我们启动MySQL时,我们跳过了用户权限表。

下一步指示MySQL使用哪个数据库:

use mysql;

输入root用户的新密码,如下所示:

update user set password=PASSWORD("mynewpassword") where User='root';

最后,刷新权限:

flush privileges;

现在密码已经重置,我们需要通过注销来重启MySQL:

quit

sudo /etc/init.d/mysqld stop

sudo /etc/init.d/mysql start

登录时测试新密码:

mysql -u root -p

系统将提示您输入新密码。

答案 1 :(得分:0)

请检查" /root/.mysql_secret"文件。 root密码在此文件中。

像这样:

sudo cat /root/.mysql_secret