如何修改ubuntu服务器的MySQL root密码和用户名?我需要停止mysql服务之前,设置任何更改?
我有一个phpmyadmin设置以及,phpmyadmin会自动更新?
如何修改ubuntu服务器的MySQL root密码和用户名?我需要停止mysql服务之前,设置任何更改?
我有一个phpmyadmin设置以及,phpmyadmin会自动更新?
当前回答
设置MySQL密码
停止MySQL数据库服务
sudo /etc/init.d/mysql stop
创建一个新的mysqld目录
Sudo mkdir /var/run/mysqld/
给予mysql用户访问权限
Sudo chown mysql /var/run/mysqld/
以安全模式启动MySQL…
Sudo mysqld_safe—skip-grant-tables &
无需密码登录数据库服务器
Sudo mysql -u root
使用默认的mysql数据库
使用mysql;
修改root密码
update user set authentication_string=PASSWORD(" new_passwor_here ") where user ='root';
保存更改 冲洗特权; 退出; 停止MySQL安全模式,启动MySQL默认服务
sudo /etc/init.d/mysql stop
sudo /etc/init.d/mysql start
使用root新密码重新登录MySQL数据库
-u root -p
***来源:https://websiteforstudents.com/resetting-mysql-root-password-on-ubuntu-16-04-17-10-and-18-04-lts/
其他回答
官方和简单的方法来重置根密码在ubuntu服务器…
如果你在16.04 14.04 12.04
sudo dpkg-reconfigure mysql-server-5.5
如果你在10.04:
sudo dpkg-reconfigure mysql-server-5.1
如果您不确定安装了哪个mysql-server版本,您可以尝试:
dpkg --get-selections | grep mysql-server
mysql-server-5.7的更新说明
请注意,如果您使用的是mysql-server-5.7,则不能使用上面所示的更简单的dpkg-reconfigure方法。
如果你知道密码,登录并运行这个:
UPDATE mysql.user SET authentication_string=PASSWORD('my-new-password') WHERE USER='root';
FLUSH PRIVILEGES;
或者,您可以使用以下方法:
sudo mysql_secure_installation
这将询问您一系列关于保护安装的问题(强烈推荐),包括是否需要提供新的根密码。
如果你不知道root密码,请参考这个以ubuntu为中心的进程写上去。
查看更多信息:
https://help.ubuntu.com/16.04/serverguide/mysql.html https://help.ubuntu.com/14.04/serverguide/mysql.html
下面的步骤对我很有效。我使用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的根密码了解更多细节。
正如mysql文档中password()函数所说:
此函数在MySQL 8.0.11中被移除。
这将使mysql v8.0.11及更新版本的所有现有答案都失效。
根据mysql文档,重置root密码的新通用方法如下:
The preceding sections provide password-resetting instructions specifically for Windows and Unix and Unix-like systems. Alternatively, on any platform, you can reset the password using the mysql client (but this approach is less secure): Stop the MySQL server if necessary, then restart it with the --skip-grant-tables option. This enables anyone to connect without a password and with all privileges, and disables account-management statements such as ALTER USER and SET PASSWORD. Because this is insecure, if the server is started with the --skip-grant-tables option, it enables --skip-networking automatically to prevent remote connections. Connect to the MySQL server using the mysql client; no password is necessary because the server was started with --skip-grant-tables: shell> mysql In the mysql client, tell the server to reload the grant tables so that account-management statements work: mysql> FLUSH PRIVILEGES; Then change the 'root'@'localhost' account password. Replace the password with the password that you want to use. To change the password for a root account with a different host name part, modify the instructions to use that host name. mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass'; You should now be able to connect to the MySQL server as root using the new password. Stop the server and restart it normally (without the --skip-grant-tables and --skip-networking options).
对于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
现在享受
停止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 &
5.无需密码登录。 Mysql -uroot Mysql
6.更新root用户密码。
更新mysql。user SET authentication_string=PASSWORD('YOURNEWPASSWORD'), plugin='mysql_native_password' WHERE user ='root' AND Host='%'; 退出;
关闭MySQL。 sudo mysqladmin -S /var/run/mysqld/mysqld.袜子关闭 正常启动MySQL服务。 Sudo服务mysql启动