如何修改ubuntu服务器的MySQL root密码和用户名?我需要停止mysql服务之前,设置任何更改?

我有一个phpmyadmin设置以及,phpmyadmin会自动更新?


当前回答

修改MySQL root密码。用更简单的方式

所有这些命令都应该以root用户身份运行。

使用旧密码登录MySQL命令行工具:

步骤1

mysql -uroot -p"your_old_password"

然后执行以下命令:

步骤2

SET PASSWORD FOR root@'localhost' = PASSWORD('your_new_password');

方法-2(使用上述命令首次使用旧密码登录)

为当前用户设置密码:

SET PASSWORD = PASSWORD('your_new_password');

以上命令用于当前用户。如果您要更改其他用户的密码,可以输入用户名而不是“root”。

其他回答

关于这个话题的大多数答案都过时了;在写这个答案之前,MySQL发生了两个主要的变化:

1-用户表中的“Password”字段已被“authentication_string”列取代。

2-“Password”加密功能:Password(“of some text”)已弃用。

更多信息请参考此链接:dev.mysql.com/doc/refman/8.0/en/resetting-permissions.html

重置或修改密码请输入sudo dpkg-reconfigure mysql-server-X。X (X.X是mysql版本你已经安装,即5.6,5.7),然后你会提示一个屏幕,你必须设置新密码,然后在下一步确认密码,只是等待一会儿。就是这样。

我分享一步一步的最终解决方案,重置MySQL密码在Linux Ubuntu。

参考来自博客(dbrnd.com)

步骤1: 停止MySQL服务。

sudo stop mysql

步骤2: 关闭所有运行mysqld。

sudo killall -9 mysqld

步骤3: 以安全模式启动mysqld。

sudo mysqld_safe --skip-grant-tables --skip-networking &

步骤4: 启动mysql客户端

mysql -u root

步骤5: 登录成功后,如果需要修改密码,请执行该命令。

FLUSH PRIVILEGES;

步骤6: 您可以更新mysql root密码。

UPDATE mysql.user SET Password=PASSWORD('newpwd') WHERE User='root';

注意:在MySQL 5.7中,Password列被称为authentication_string。

第七步: 请执行该命令。

FLUSH PRIVILEGES;

下面的步骤对我很有效。我使用MySQL 8。*在Ubuntu上

停止MySQL服务,检查状态确认服务已停止

Sudo systemctl停止mysql Sudo systemctl status mysql

编辑systemd配置文件,这样您就可以在没有权限检查的情况下访问MySQL Sudo systemctl编辑mysql 复制并粘贴以下3行

(服务) ExecStart = ExecStart=/usr/sbin/mysqld——skip-grant-tables——skip-networking

粘贴行后按CTRL+0保存,然后按CTRL+X退出

重新加载mysql服务并启动它(使用——skip-grant-table启动服务)

Sudo systemctl daemon-reload Sudo systemctl启动mysql

5.现在无需密码即可连接MySQL服务器

sudo mysql -u root

6.通过运行加载授权表

mysql> FLUSH PRIVILEGES;

重置root密码

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'YourPasswordHere';

关闭mysql连接

mysql >退出

恢复对mysql systemd文件所做的修改

Sudo systemctl恢复mysql

重新加载mysql守护进程以进行更改。

Sudo systemctl daemon-reload

最后重新启动MySQL服务

Sudo systemctl restart mysql

现在用第7步设置的新密码连接mysql

你可以访问这个链接重置mysql 8的根密码了解更多细节。

对我有用的(Ubuntu 16.04, mysql 5.7):

停止MySQL

sudo service mysql stop

制作MySQL服务目录。

sudo mkdir /var/run/mysqld

赋予MySQL用户写入服务目录的权限。

sudo chown mysql: /var/run/mysqld

手动启动MySQL,不需要权限检查或联网。

sudo mysqld_safe --skip-grant-tables --skip-networking &

在另一个控制台,无需密码登录。

mysql -uroot mysql

然后:

UPDATE mysql.user SET authentication_string=PASSWORD('YOURNEWPASSWORD'), plugin='mysql_native_password' WHERE User='root' AND Host='localhost';
EXIT;

关闭MySQL。

sudo mysqladmin -S /var/run/mysqld/mysqld.sock shutdown

正常启动MySQL服务。

sudo service mysql start