MySQL根密码更改
我一直在尝试重置我的MySQL根密码。我已经运行了mysqld_safe--skip grant tables,更新了root密码,并检查了user表以确保它在那里。重新启动mysql守护程序后,我尝试使用刚刚设置的新root密码登录,但仍然因为用户“root”错误而拒绝访问。我也尝试过完全删除并重新安装mysql(包括删除MySQL根密码更改,mysql,root,mysqladmin,Mysql,Root,Mysqladmin,我一直在尝试重置我的MySQL根密码。我已经运行了mysqld_safe--skip grant tables,更新了root密码,并检查了user表以确保它在那里。重新启动mysql守护程序后,我尝试使用刚刚设置的新root密码登录,但仍然因为用户“root”错误而拒绝访问。我也尝试过完全删除并重新安装mysql(包括删除my.cnf文件),但仍然没有成功。有人对我下一步能做什么有什么建议吗 提前感谢我经常遇到的一个常见错误是忘记了-p选项,因此您确定使用了: mysql -u root -p
my.cnf
文件),但仍然没有成功。有人对我下一步能做什么有什么建议吗
提前感谢我经常遇到的一个常见错误是忘记了
-p
选项,因此您确定使用了:
mysql -u root -p
找到了!我更改密码时忘了对密码进行哈希运算。我使用此查询来解决我的问题:
updateuser set password=password('NEW password'),其中user='root'代码>
我忘记了密码('NEW PASSWORD')
,只需将新密码以明文形式输入即可请查看MySQL参考手册:
首次登录mysql:
# mysql -u root -p
然后在mysql提示符下运行:
UPDATE mysql.user SET Password=PASSWORD('MyNewPass') WHERE User='root';
然后
查看此页面了解更多信息:您必须重置密码!mac osx(已测试并运行)和ubuntu的步骤 停止MySQL
$ sudo /usr/local/mysql/support-files/mysql.server stop
在安全模式下启动:
$ sudo mysqld_safe --skip-grant-tables
(上面一行是整个命令)
这将是一个持续的命令,直到过程完成,因此打开另一个shell/terminal窗口,不用密码登录:
$ mysql -u root
mysql> UPDATE mysql.user SET Password=PASSWORD('password') WHERE User='root';
mysqladmin --user=root --password=oldpassword password "newpassword"
set global validate_password.policy = 0;
set password = 'new_password';
set password for 'otherUser'@'localhost' = 'new_password';
mysql_secure_installation
启动MySQL
sudo /usr/local/mysql/support-files/mysql.server start
您的新密码是“password”。停止所有wamp服务,退出wamp 打开记事本,然后键入> 为'root'@'localhost'=密码('')设置密码 然后用任意名称将其保存到c:drive。。像这样的“c:/example.txt” 现在转到您的“wamp”falderwamp>bin>mysql>mysql(您的版本)>bin 在我的例子中,路径是“C:\wamp\bin\mysql\mysql5.6.17\bin” 现在复制路径,然后使用(ctrl+r)运行cmd,然后键入“cmd”(输入) 键入cd,然后右键单击cmd并粘贴路径(输入) 现在键入(mysqld--init file=C:\example.txt)不带大括号,然后(输入) 然后重新启动PC或打开taskmgr并杀死mysqld.exe 启动wamp,您的密码将被删除…在Ubuntu上
sudo dpkg-reconfigure mysql-server-5.5
用当前版本替换
5.5
,系统将要求您输入新的root密码。请按照以下步骤操作
sudo服务mysql停止
sudo mysqld\u safe——跳过授权表
sudo服务mysql启动
sudomysql-u root
使用mysql代码>
显示表格代码>
描述用户代码>
updateuser set authentication\u string=password('1111'),其中user='root'代码>
FLUSH特权代码>
使用密码1111登录这是WAMP v3.0.6及更高版本的更新答案
> UPDATE mysql.user
> SET authentication_string=PASSWORD('MyNewPass')
> WHERE user='root';
> FLUSH PRIVILEGES;
在MySQL版本5.7.x中,MySQL表中没有更多的密码字段。它被替换为身份验证字符串。(这是针对终端/CLI的)
(这对于PHPMyAdmin或任何Mysql GUI来说都是不错的)对于MacOS用户,如果忘记了根密码,@thusharaK的answer()很好,但是还有一些技巧: 如果您使用系统首选项启动mysql服务器端,只需
sudo mysqld_safe --skip-grant-tables
可能不适合你
您必须确保命令行参数与系统启动配置相同
以下命令适用于我:
/usr/local/mysql/bin/mysqld --user=_mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --log-error=/usr/local/mysql/data/mysqld.local.err --pid-file=/usr/local/mysql/data/mysqld.local.pid --keyring-file-data=/usr/local/mysql/keyring/keyring --early-plugin-load=keyring_file=keyring_file.so --skip-grant-tables
你可以用
ps aux | grep mysql
在MySQL 5.7中,密码被替换为“身份验证字符串” 使用
对于MySQL 5.7.6及更高版本:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
对于MySQL 5.7.5及更早版本:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');
使用mysqladmin命令行实用程序更改MySQL密码:
$ mysql -u root
mysql> UPDATE mysql.user SET Password=PASSWORD('password') WHERE User='root';
mysqladmin --user=root --password=oldpassword password "newpassword"
set global validate_password.policy = 0;
set password = 'new_password';
set password for 'otherUser'@'localhost' = 'new_password';
mysql_secure_installation
您可以在MySQL文档中找到。尝试了@kta的答案,但对我无效 我正在使用MySQL 8.0 这对我很有用:
mysql>
为'root'@'localhost'='yourspassword'设置密码
我也四处搜索过,可能有些答案适合某些情况
我的情况是Ubuntu 18.04.2 LTS系统上的Mysql 5.7:
(获取根权限)
(为root db用户设置密码+分步实施安全性)
(通过密码而不是套接字授予根用户访问权限)
(+编辑:显然您需要再次设置密码?)
(不要将其设置为“mySecretPassword”!!!)
非常感谢(搜索几个小时后…)
享受:-D
美国
编辑(2020):
此方法不再有效,请参阅以供将来参考…对于当前最新的mysql版本(8.0.16),这些答案都不适用于我 在查看了几个不同的答案并将它们组合在一起后,我最终使用了以下有效的答案:
update user set authentication_string='test' where user='root';
希望这有帮助。这么多的原因,但我得到了这个方法的帮助:
sudo mysqladmin -u root password 'my password'
在我安装后的情况下,我得到的mysql服务没有root用户的密码,我需要为我的安全设置密码。关于mysql 8.0.4+ 要更新当前根用户,请执行以下操作:
select current_user();
set password = 'new_password';
要更新其他用户,请执行以下操作:
set password for 'otherUser'@'localhost' = 'new_password';
要在更新密码之前设置密码策略,请执行以下操作:
$ mysql -u root
mysql> UPDATE mysql.user SET Password=PASSWORD('password') WHERE User='root';
mysqladmin --user=root --password=oldpassword password "newpassword"
set global validate_password.policy = 0;
set password = 'new_password';
set password for 'otherUser'@'localhost' = 'new_password';
mysql_secure_installation
更新根密码的其他/更好的方法:
$ mysql -u root
mysql> UPDATE mysql.user SET Password=PASSWORD('password') WHERE User='root';
mysqladmin --user=root --password=oldpassword password "newpassword"
set global validate_password.policy = 0;
set password = 'new_password';
set password for 'otherUser'@'localhost' = 'new_password';
mysql_secure_installation
想坚持使用5.x身份验证,以便您仍然可以使用旧版应用程序吗
在my.cnf上
default_authentication_plugin = mysql_native_password
要更新根目录,请执行以下操作:
set global validate_password.policy = 0;
alter user 'root'@'localhost' identified with mysql_native_password by 'new_password';
这对我有用-
ALTER用户'root'@'localhost'由'MyNewPass'标识代码>
在Mac开放系统首选项>MySQL上
在MySQL的配置部分,检查初始化数据库
在提示中更改密码。
或者只使用交互式配置:
sudo mysql_secure_installation
这是为mac用户准备的。
更新:在8.0.15(可能在该版本之前)上,PASSWORD()函数不起作用,您必须执行以下操作:
你一定要小心