mysqld.log 中没有临时密码

No temporary password in mysqld.log

我用的是mysql5.7.16社区和centos 7.

我正在关注视频 tutorial 以安装 mysql:

  1. wget http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
  2. yum localinstall dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
  3. yum repolist 已启用 | grep "mysql.-community."
  4. yum 安装mysql-社区服务器
  5. 服务mysqld 启动

启动 mysql 后,我可以看到状态为 alive (运行) service mysqld status

但是我什么也得不到:grep 'temporary password' /var/log/mysqld.log

msyqld.log(忽略正常日志):

[Warning] InnoDB: Cannot open table mysql/plugin from the internal data dictionary of InnoDB though the .frm file for the table exists.
mysqld: Table 'mysql.plugin' doesn't exist

[ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.

[Warning] InnoDB: Cannot open table mysql/gtid_executed from the internal data dictionary of InnoDB though the .frm file for the table exists.
mysqld: Table 'mysql.gtid_executed' doesn't exist

[Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.

[Warning] InnoDB: Cannot open table mysql/server_cost from the internal data dictionary of InnoDB though the .frm file for the table exists.

[Warning] Failed to open optimizer cost constant tables

[Warning] InnoDB: Cannot open table mysql/time_zone_leap_second from the internal data dictionary of InnoDB though the .frm file for the table exists.

[Warning] Can't open and lock time zone table: Table 'mysql.time_zone_leap_second' doesn't exist trying to live without them

[Warning] InnoDB: Cannot open table mysql/servers from the internal data dictionary of InnoDB though the .frm file for the table exists.

[ERROR] Can't open and lock privilege tables: Table 'mysql.servers' doesn't exist

感谢任何帮助!

我想通了。

  1. 我安装的centos 7选择了mysql,mysql版本是5.5.
  2. 通过以下方式删除它:yum remove mysql-serverl.
  3. 按照本教程安装 5.7.16。
  4. 有这些错误。
  5. yum 删除 mysql-community-server,重新安装 5.7。
  6. 仍然有这些错误。
  7. Yum 删除 mysql-community-server,但删除目录 /var/lib/mysql.
  8. 然后重新安装,成功了。

关键是需要手动删除/var/lib/mysql。

如果没有密码,不用担心。 做吧。

sudo mysql_secure_installation

您没有密码,请按回车键。

我只是重新启动 mysql 并搜索:

service mysqld start

grep 'temporary password' /var/log/mysqld.log

已显示默认密码。

尝试

sudo grep 'temporary password' /var/log/mysqld.log | rev | cut -d" " -f1 | rev | tr -d "."

pwd之后会显示。