虽然本论坛中很少有人问过这个问题但我无法解决这个问题
我在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的新手
答案 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:
或者要解决您的问题(恢复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