卡在mysqld_safe中使用/ usr / local / mysql / data中的数据库启动mysqld守护程序

时间:2017-09-07 03:37:48

标签: mysql linux

当我使用mysqld_safe在CentOS7中启动我的MySQL时:

[root@localhost bin]# mysqld_safe --skip-grant-tables &
[1] 32586
[root@localhost bin]# 2017-09-07T13:29:36.423040Z mysqld_safe Logging to '/usr/local/mysql/data/localhost.localdomain.err'.
2017-09-07T13:29:36.456574Z mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data

它卡在mysqld_safe Starting mysqld daemon

我找到了SO,没有找到这篇文章,有些类似,但没有卡住,他们直接报告错误。

MySQL版本为5.7.19

我的要求是更改用户root的密码。

3 个答案:

答案 0 :(得分:3)

最后,我发现如果更改mysql版本大于5.7的密码,我们不应该使用过时的方法。

正确的方法:

  1. 在mysql配置文件/etc/my.cnf中,在skip-grant-tables中添加[mysqld]

  2. 重启mysql(/etc/init.d/mysqld restart

  3. 启动mysql(type mysql directly

  4. 更改用户密码(root

    ALTER USER 'root'@'localhost'IDENTIFIED BY 'newpassword'
    
  5. 退出mysql并删除skip-grant-tables中的/etc/my.cnf

  6. 然后您可以使用mysql -u root -p立即登录mysql。

答案 1 :(得分:1)

要更改root用户的密码,可以运行mysql_secure_installation https://mariadb.com/kb/en/library/mysql_secure_installation/

答案 2 :(得分:0)

对于Ubuntu 18和MySQL 5.7配置

  • nano /etc/mysql/mysql.conf.d/mysqld.cnf

  • skip-grant-tables下添加[mysqld]

  • systemctl restart mysql

  • mysql现在,您可以更改root或任何密码

并在更改密码后删除skip-grant-tables下的[mysqld],然后再次systemctl restart mysql以恢复正常功能。