pro*_*mar 10 mysql linux configuration
我在我的linux服务器上安装了一个MySQL,我忘记了它的密码所以我去了,并使用我在网上找到的方法进行了更改.我做了如下:
/etc/init.d/mysql stop
mysqld_safe --skip-grant-tables &
mysql --user root mysql
SELECT * FROM user; // I checked if I could access the user table or not
update user SET password = PASSWORD('new_pass') WHERE user = 'root';
flush privileges;
exit
Run Code Online (Sandbox Code Playgroud)
更新查询确实更改了密码,因为它显示了受影响的行数和查询OK等.
然后我重新启动了mysql
/etc/init.d/mysql stop
/etc/init.d/mysql start
Run Code Online (Sandbox Code Playgroud)
现在,当我使用新密码登录时
mysql -u root -p new_pass
Run Code Online (Sandbox Code Playgroud)
它仍然给我错误 "ERROR 1045(28000):拒绝访问用户'root'@'localhost'(使用密码:是)"
有什么东西我错过了吗?
小智 17
我能够通过执行此语句来解决此问题
sudo dpkg-reconfigure mysql-server-5.5
Run Code Online (Sandbox Code Playgroud)
这将更改root密码.
小智 13
您可以通过以下五个简单步骤恢复MySQL数据库服务器密码.以下是您需要为每个步骤键入的命令(以root用户身份登录):
/etc/init.d/mysql stop
Run Code Online (Sandbox Code Playgroud)
输出:
Stopping MySQL database server: mysqld.
Run Code Online (Sandbox Code Playgroud)
mysqld_safe --skip-grant-tables &
Run Code Online (Sandbox Code Playgroud)
输出:
[1] 5988
Starting mysqld daemon with databases from /var/lib/mysql
mysqld_safe[6025]: started
Run Code Online (Sandbox Code Playgroud)
mysql -u root
Run Code Online (Sandbox Code Playgroud)
输出:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1 to server version: 4.1.15-Debian_1-log
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
Run Code Online (Sandbox Code Playgroud)
mysql> use mysql;
mysql> update user set password=PASSWORD("NEW-ROOT-PASSWORD") where User='root';
mysql> flush privileges;
mysql> quit
Run Code Online (Sandbox Code Playgroud)
/etc/init.d/mysql stop
Run Code Online (Sandbox Code Playgroud)
输出:
Stopping MySQL database server: mysqld
STOPPING server from pid file /var/run/mysqld/mysqld.pid
mysqld_safe[6186]: ended
[1]+ Done mysqld_safe --skip-grant-tables
Run Code Online (Sandbox Code Playgroud)
/etc/init.d/mysql start
mysql -u root -p
Run Code Online (Sandbox Code Playgroud)
你必须重置密码!mac osx(测试和工作)和ubuntu的步骤
停止MySQL
$ sudo /usr/local/mysql/support-files/mysql.server stop
Run Code Online (Sandbox Code Playgroud)
以安全模式启动它:
$ sudo mysqld_safe --skip-grant-tables
Run Code Online (Sandbox Code Playgroud)
(上面的行是整个命令)
这将是一个持续的命令,直到该过程完成,因此打开另一个shell /终端窗口,无需密码登录:
$ mysql -u root
mysql> UPDATE mysql.user SET Password=PASSWORD('password') WHERE User='root';
Run Code Online (Sandbox Code Playgroud)
启动MySQL
sudo /usr/local/mysql/support-files/mysql.server start
Run Code Online (Sandbox Code Playgroud)
您的新密码是"密码".
实际上,我仔细查看了mysql数据库中的用户表,结果发现在我之前有人将用户root的ssl_type字段编辑为SSL。
我编辑了该字段并重新启动了 mysql,它的工作就像一个魅力。
谢谢。