我刚刚使用yum
在CentOS机器上安装了Mysql。安装没有错误。然后我按照这些步骤:
$ sudo /sbin/service mysqld start --skip-grant-tables --skip-networking
$ sudo /usr/bin/mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
In order to log into MySQL to secure it, we'll need the current
password for the root user. If you've just installed MySQL, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.
Enter current password for root (enter for none):
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
Enter current password for root (enter for none):
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
Enter current password for root (enter for none):
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
Enter current password for root (enter for none):
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
Enter current password for root (enter for none):
可以看出,即使首次安装,登录数据库也存在问题。我甚至在sudo
中尝试了所有命令,但错误仍然存在。我甚至无法弄清楚如何重新配置MySQL。我已经安装了3次删除mysql。
我该如何解决这个问题?
答案 0 :(得分:30)
仅适用于在MySQL 5.7上遇到此问题的任何人。或更高。
MySQL v 5.7或更高版本在安装后生成临时随机密码,并将其存储在位于/var/log/mysqld.log
的mysql错误日志文件中
由CentOS 7上的MySQL Yum存储库安装。
使用以下命令查看密码:
sudo grep 'temporary password' /var/log/mysqld.log
参考:MySQL 5.7.7 - Centos 7 el7 - Access denied
<强> EDIT1 强>
对于拥有不同错误日志文件的任何人,您可以使用@ Drew的回答here找到它。
答案 1 :(得分:3)
写入错误日志文件
的临时root密码的视觉效果不是那个人可以完全甩掉命令
select @@log_error;
在没有登录的情况下找到错误日志文件的位置(首先是鸡或蛋的困境)。
但典型的位置是
C:\ProgramData\MySQL\MySQL Server 5.7\Data\
(对于Windows。您必须取消隐藏C:\ ProgramData目录)
和
mysql> select @@log_error;
+---------------------+
| @@log_error |
+---------------------+
| /var/log/mysqld.log |
+---------------------+
(对于Linux)
答案 2 :(得分:1)
也许你已经在某个时候设置了它。你可以试试这个:
yum remove mysql-server
rm -rf /var/lib/mysql
yum install mysql-server
systemctl start mysqld.service
/usr/bin/mysql_secure_installation
无论如何,我认为这个问题应该在ServerFault中。
答案 3 :(得分:0)
为了登录MariaDB以保护它,我们需要当前的 root用户的密码。如果你刚刚安装了MariaDB,那么 你还没有设置root密码,密码是空白的, 所以你应该按回车。
答案 4 :(得分:-1)
sudo mysql_secure_installation
pass