如何修改ubuntu服务器的MySQL root密码和用户名?我需要停止mysql服务之前,设置任何更改?
我有一个phpmyadmin设置以及,phpmyadmin会自动更新?
如何修改ubuntu服务器的MySQL root密码和用户名?我需要停止mysql服务之前,设置任何更改?
我有一个phpmyadmin设置以及,phpmyadmin会自动更新?
当前回答
我遇到ubuntu 18.04和mysql 5.7的问题,这是解决方案
执行命令前请尝试重新启动mysql-server
sudo service mysql restart
Mysql-server >= 5.7
sudo mysql -uroot -p
USE mysql;
UPDATE user SET authentication_string=PASSWORD('YOUR_PASSWORD') WHERE User='root';
UPDATE user SET plugin="mysql_native_password";
FLUSH PRIVILEGES;
quit;
Mysql-server < 5.7
sudo mysql -uroot -p
USE mysql;
UPDATE user SET password=PASSWORD('YOUR_PASSWORD') WHERE User='root';
UPDATE user SET plugin="mysql_native_password";
FLUSH PRIVILEGES;
quit;
其他回答
我分享一步一步的最终解决方案,重置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;
重置或修改密码请输入sudo dpkg-reconfigure mysql-server-X。X (X.X是mysql版本你已经安装,即5.6,5.7),然后你会提示一个屏幕,你必须设置新密码,然后在下一步确认密码,只是等待一会儿。就是这样。
下面的步骤对我很有效。我使用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 18.04和mysql版本14.14,Distrib 5.7.22,请按照以下步骤重置mysql密码。
步骤1
sudo systemctl stop mysql
步骤2
sudo systemctl edit mysql
这个命令将在nano编辑器中打开一个新文件,您将使用该文件编辑MySQL的服务覆盖。这些更改MySQL的默认服务参数。该文件将为空,因此添加以下内容:
[Service]
ExecStart=
ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid --skip-grant-tables --skip-networking
步骤3
sudo systemctl daemon-reload
sudo systemctl start mysql
步骤4
sudo mysql -u root
步骤5
FLUSH PRIVILEGES;
步骤6
UPDATE mysql.user SET authentication_string = PASSWORD('new_password') WHEREuser = 'root';
步骤7
UPDATE mysql.user SET plugin ='mysql_native_password' WHERE user = 'root';
步骤8
sudo systemctl revert mysql
最后
sudo systemctl restart mysql
现在享受
对我有用的(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