1

我试图遵循这里的所有建议,但没有一个对我有用。我在 Fedora 上安装了 mysql 社区服务器mysql-community-server-5.7.9-1.fc21.x86_64

我尝试使用访问临时密码, sudo grep 'temporary password' mysqld.log但它不返回任何密码。

我不断收到错误 Access denied for user 'root'@'localhost' (using password: NO)

执行 mysqld_safe --skip-grant-tables 时出现此错误

2016-06-14 10:46:00 3495 mysqld_safe: Logging to '/var/log/mysqld.log'. chown: invalid user: ‘@MYSQLD_USER@’ 2016-06-14 10:46:00 3495 mysqld_safe: The file @libexecdir@/mysqld does not exist or is not executable. Please cd to the mysql installation directory and restart this script from there as follows: ./bin/mysqld_safe& See http://dev.mysql.com/doc/mysql/en/mysqld-safe.html for more information

我无法重置 root 用户密码。请帮忙。

4

2 回答 2

2

对于 centos 上的 mysql 5.7

systemctl stop mysqld
systemctl set-environment MYSQLD_OPTS="--skip-grant-tables"
systemctl start mysqld
mysql -u root
mysql> use mysql; 
mysql> update user set authentication_string=password('you new pass') where 
user='root';
mysql> flush privileges; 
mysql> exit

systemctl restart mysqld
于 2019-06-06T05:35:45.450 回答
0

重置 MYSQL 根密码(适用于 linux 用户)

登录到root用户并运行

Step 1# /etc/init.d/mysql stop 
Step 2# mysqld_safe --skip-grant-tables & 
Output : Starting mysqld daemon with databases from /var/lib/mysql mysqld_safe[6025]: started

Step 3 Login to new terminal (with root user)
    
   [#] mysql -u root

mysql> use mysql; 
mysql> update user set password=PASSWORD('NEW-ROOT-PASSWORD') where User='root';
mysql> flush privileges; 
mysql> quit

Step 4 # Stop MySQL Server:

/etc/init.d/mysql stop

Step 5 # /etc/init.d/mysql start

mysql -u root -pNEWPASSWORD

- - - - - - - - - - - 完全的 - - - - -

于 2016-06-13T13:44:47.733 回答