asm*_*234 164 mysql ubuntu phpmyadmin
如何在ubuntu服务器中更改MySQL root密码和用户名?在设置任何更改之前,是否需要停止mysql服务?
我也有一个phpmyadmin设置,phpmyadmin会自动更新吗?
Chr*_*ark 197
在Ubuntu Linux上设置/更改/重置MySQL root密码.在终端中输入以下行.
sudo /etc/init.d/mysql stop
mysqld
sudo mysqld --skip-grant-tables &
替换/var/run/mysqld
为您的新密码:
sudo mkdir -v /var/run/mysqld && sudo chown mysql /var/run/mysqld
Run Code Online (Sandbox Code Playgroud)注意:在某些版本上,如果
sudo service mysql start
列不存在,您可能需要尝试:
mysql -u root mysql
注意:此方法不被视为重置密码的最安全方式,但是,它可以工作.
参考文献:
use*_*345 98
在ubuntu服务器上重置root密码的官方简单方法...
如果你在16.04,14.04,12.04:
sudo dpkg-reconfigure mysql-server-5.5
Run Code Online (Sandbox Code Playgroud)
如果你在10.04:
sudo dpkg-reconfigure mysql-server-5.1
Run Code Online (Sandbox Code Playgroud)
如果您不确定安装了哪个mysql-server版本,可以尝试:
dpkg --get-selections | grep mysql-server
Run Code Online (Sandbox Code Playgroud)
更新了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;
Run Code Online (Sandbox Code Playgroud)
或者,您可以使用以下内容:
sudo mysql_secure_installation
Run Code Online (Sandbox Code Playgroud)
这将询问您关于保护安装的一系列问题(强烈推荐),包括您是否要提供新的root密码.
如果您不知道root密码,请参阅这个以Ubuntu为中心的过程.
查看更多信息:
https://help.ubuntu.com/16.04/serverguide/mysql.html https://help.ubuntu.com/14.04/serverguide/mysql.html
nar*_*rko 95
唯一适用于我的方法是这里描述的方法(我正在运行ubuntu 14.04).为了清楚起见,这些是我遵循的步骤:
sudo vim /etc/mysql/my.cnf
最后添加以下行:
[mysqld] skip-grant-tables
sudo service mysql restart
mysql -u root
use mysql
select * from mysql.user where user = 'root';
- 查看顶部以确定密码列是否称为
password或authentication_string
UPDATE mysql.user set *password_field from above* = PASSWORD('your_new_password') where user = 'root' and host = 'localhost';
- 使用上面正确的密码栏
FLUSH PRIVILEGES;
exit
sudo vim /etc/mysql/my.cnf
如果要保持安全标准,请删除步骤2中添加的行.
sudo service mysql restart
供参考:https://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html
Anv*_*esh 76
我正在分享一步一步的最终解决方案,以重置Linux Ubuntu中的MySQL密码.
第1步:停止MySQL服务.
sudo stop mysql
Run Code Online (Sandbox Code Playgroud)
第2步:杀死所有正在运行的mysqld.
sudo killall -9 mysqld
Run Code Online (Sandbox Code Playgroud)
第3步:以安全模式启动mysqld.
sudo mysqld_safe --skip-grant-tables --skip-networking &
Run Code Online (Sandbox Code Playgroud)
第4步:启动mysql客户端
mysql -u root
Run Code Online (Sandbox Code Playgroud)
步骤5:成功登录后,请执行此命令更改密码.
FLUSH PRIVILEGES;
Run Code Online (Sandbox Code Playgroud)
第6步:您可以更新mysql root密码.
UPDATE mysql.user SET Password=PASSWORD('newpwd') WHERE User='root';
Run Code Online (Sandbox Code Playgroud)
注意:在MySQL 5.7上,Password
调用列authentication_string
.
第7步:请执行此命令.
FLUSH PRIVILEGES;
Run Code Online (Sandbox Code Playgroud)
fab*_*tag 66
什么对我有用(Ubuntu 16.04,mysql 5.7):
停止MySQL
sudo service mysql stop
Run Code Online (Sandbox Code Playgroud)
制作MySQL服务目录.
sudo mkdir /var/run/mysqld
Run Code Online (Sandbox Code Playgroud)
授予MySQL用户写入服务目录的权限.
sudo chown mysql: /var/run/mysqld
Run Code Online (Sandbox Code Playgroud)
手动启动MySQL,无需权限检查或联网.
sudo mysqld_safe --skip-grant-tables --skip-networking &
Run Code Online (Sandbox Code Playgroud)
在另一台控制台上,无需密码即可登录.
mysql -uroot mysql
Run Code Online (Sandbox Code Playgroud)
然后:
UPDATE mysql.user SET authentication_string=PASSWORD('YOURNEWPASSWORD'), plugin='mysql_native_password' WHERE User='root' AND Host='localhost';
EXIT;
Run Code Online (Sandbox Code Playgroud)
关闭MySQL.
sudo mysqladmin -S /var/run/mysqld/mysqld.sock shutdown
Run Code Online (Sandbox Code Playgroud)
正常启动MySQL服务.
sudo service mysql start
Run Code Online (Sandbox Code Playgroud)
Ami*_*rim 55
首先运行这个命令:
sudo mysql
Run Code Online (Sandbox Code Playgroud)
然后你应该检查你的 MySQL 用户帐户使用的身份验证方法。所以运行这个命令
SELECT user,authentication_string,plugin,host FROM mysql.user;
Run Code Online (Sandbox Code Playgroud)
现在你已经可以看到这样的事情了:
+------------------+-------------------------------------------+-----------------------+-----------+
| user | authentication_string | plugin | host |
+------------------+-------------------------------------------+-----------------------+-----------+
| root | | auth_socket | localhost |
| mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *CC744277A401A7D25BE1CA89AFF17BF607F876FF | mysql_native_password | localhost |
+------------------+-------------------------------------------+-----------------------+-----------+
Run Code Online (Sandbox Code Playgroud)
在上面的表格中,您可以看到您所有的 mysql 用户帐户状态以及您是否mysql_native_password
在插件列中看到之前为 root 帐户设置了密码auth_socket
。总而言之,要更改您的 root 密码,您应该运行:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
Run Code Online (Sandbox Code Playgroud)
请务必将密码更改为您选择的强密码。然后为了重新加载您的服务器以使您的新更改生效,请运行此命令;
FLUSH PRIVILEGES;
Run Code Online (Sandbox Code Playgroud)
因此,通过以下命令再次检查您的 mysql 使用的身份验证方法:
SELECT user,authentication_string,plugin,host FROM mysql.user;
Run Code Online (Sandbox Code Playgroud)
现在输出是:
+------------------+-------------------------------------------+-----------------------+-----------+
| user | authentication_string | plugin | host |
+------------------+-------------------------------------------+-----------------------+-----------+
| root | *3636DACC8616D997782ADD0839F92C1571D6D78F | mysql_native_password | localhost |
| mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *CC744277A401A7D25BE1CA89AFF17BF607F876FF | mysql_native_password | localhost |
+------------------+-------------------------------------------+-----------------------+-----------+
Run Code Online (Sandbox Code Playgroud)
正如您在授予表中看到的,您的根帐户拥有mysql_native_password
. 现在你可以退出 MYSQL shell
exit;
Run Code Online (Sandbox Code Playgroud)
就是这样。只是你应该重新启动mysql sudo service mysql restart
。现在您可以使用您的密码轻松地以 root 帐户登录到 mysql。
fai*_*gat 35
更改MySQL root密码.
此方法将密码公开给命令行历史记录,这些命令应以root身份运行.
通过mysql命令行工具登录:
mysql -uroot -poldpassword
Run Code Online (Sandbox Code Playgroud)运行此命令:
SET PASSWORD FOR root@'localhost' = PASSWORD('newpassword');
Run Code Online (Sandbox Code Playgroud)要么
运行此命令,为当前用户设置密码(本例中为"root"):
SET PASSWORD = PASSWORD('newpassword');
Jer*_*iro 34
我遇到了ubuntu 18.04和mysql 5.7的问题,这就是解决方案
MYSQL-SERVER> = 5.7
sudo service mysql restart
Run Code Online (Sandbox Code Playgroud)
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;
Run Code Online (Sandbox Code Playgroud)
小智 12
如果您想更改MySQL root密码,请在终端中输入:
sudo dpkg-reconfigure mysql-server-5.5
MySQL守护程序将停止,系统将提示您输入新密码.
liz*_*ard 12
这就像我为Ubuntu 16.04做的魅力一样.当我从那里得到它时,完全归功于以下链接.[ https://coderwall.com/p/j9btlg/reset-the-mysql-5-7-root-password-in-ubuntu-16-04-lts][1]
停止MySQL
sudo service mysql stop
Run Code Online (Sandbox Code Playgroud)
制作MySQL服务目录.sudo mkdir/var/run/mysqld
授予MySQL用户写入服务目录的权限.
sudo chown mysql: /var/run/mysqld
Run Code Online (Sandbox Code Playgroud)
手动启动MySQL,无需权限检查或联网.
sudo mysqld_safe --skip-grant-tables --skip-networking &
Run Code Online (Sandbox Code Playgroud)
无需密码即可登录.
mysql -uroot mysql
Run Code Online (Sandbox Code Playgroud)
更新root用户的密码.确保至少root帐户通过以下查询更新.如果您愿意,可以进行一些选择并检查现有值
UPDATE mysql.user SET
authentication_string=PASSWORD('YOURNEWPASSWORD'),
plugin='mysql_native_password' WHERE User='root';
EXIT;
Run Code Online (Sandbox Code Playgroud)
关闭MySQL.
sudo mysqladmin -S /var/run/mysqld/mysqld.sock shutdown
Run Code Online (Sandbox Code Playgroud)
正常启动MySQL服务.
sudo service mysql start
Run Code Online (Sandbox Code Playgroud)
小智 10
停止MySQL sudo服务mysql停止
制作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用户的密码.
UPDATE mysql.user SET authentication_string = PASSWORD('YOURNEWPASSWORD'),plugin ='mysql_native_password'WHERE User ='root'AND Host ='%'; 出口;
关闭MySQL. sudo mysqladmin -S /var/run/mysqld/mysqld.sock shutdown
正常启动MySQL服务. sudo服务mysql启动
kts*_*ipt 10
就我而言,此选项有帮助:https : //stackoverflow.com/a/49610152/13760371
谢谢你,拉胡尔。
除了接下来的那一刻,当我尝试输入命令时:
UPDATE mysql.user SET authentication_string=PASSWORD('YOURNEWPASSWORD'), plugin='mysql_native_password' WHERE User='root' AND Host='%';
Run Code Online (Sandbox Code Playgroud)
控制台发出警告:
1681 'password' is deprecated and will be removed in a future release
Run Code Online (Sandbox Code Playgroud)
用这个命令治愈:
UPDATE mysql.user SET authentication_string=CONCAT('*', UPPER(SHA1(UNHEX(SHA1('NEWPASSWORD'))))), plugin='mysql_native_password' WHERE User='root' AND Host='localhost';
Run Code Online (Sandbox Code Playgroud)
MySQL 版本 5.7.X
我的变种:
1. > sudo service mysql stop
2. > sudo mkdir /var/run/mysqld
3. > sudo chown mysql: /var/run/mysqld
4. > sudo mysqld_safe --skip-grant-tables --skip-networking &
5. > mysql -uroot mysql
6. > UPDATE mysql.user SET authentication_string=CONCAT('*', UPPER(SHA1(UNHEX(SHA1('NEWPASSWORD'))))), plugin='mysql_native_password' WHERE User='root' AND Host='localhost';
7. > \q;
8. > sudo mysqladmin -S /var/run/mysqld/mysqld.sock shutdown
9. > sudo service mysql start
Run Code Online (Sandbox Code Playgroud)
这是我的解决方案.我在Ubuntu 18.04工作:https: //stackoverflow.com/a/46076838/2400373
但是最后一步这个变化很重要:
UPDATE mysql.user SET authentication_string=PASSWORD('YOURNEWPASSWORD'), plugin='mysql_native_password' WHERE User='root' AND Host='localhost';
Run Code Online (Sandbox Code Playgroud)
此解决方案属于以前版本的MySQL.通过使用套接字身份验证登录MySQL,您可以执行此操作.
sudo mysql -u root
Run Code Online (Sandbox Code Playgroud)
然后可以运行以下命令.
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
Run Code Online (Sandbox Code Playgroud)
详情请点击此处.
对于 Ubuntu 18.04 和 mysql 版本 14.14 Distrib 5.7.22,请按照以下步骤重置 mysql 密码。
sudo systemctl stop mysql
Run Code Online (Sandbox Code Playgroud)
sudo systemctl edit mysql
Run Code Online (Sandbox Code Playgroud)
此命令将在 nano 编辑器中打开一个新文件,您将使用该文件来编辑 MySQL 的服务覆盖。这些更改了 MySQL 的默认服务参数。此文件将为空,因此添加以下内容:
[Service]
ExecStart=
ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid --skip-grant-tables --skip-networking
Run Code Online (Sandbox Code Playgroud)
sudo systemctl daemon-reload
sudo systemctl start mysql
Run Code Online (Sandbox Code Playgroud)
sudo mysql -u root
Run Code Online (Sandbox Code Playgroud)
FLUSH PRIVILEGES;
Run Code Online (Sandbox Code Playgroud)
UPDATE mysql.user SET authentication_string = PASSWORD('new_password') WHEREuser = 'root';
Run Code Online (Sandbox Code Playgroud)
UPDATE mysql.user SET plugin ='mysql_native_password' WHERE user = 'root';
Run Code Online (Sandbox Code Playgroud)
sudo systemctl revert mysql
Run Code Online (Sandbox Code Playgroud)
最后
sudo systemctl restart mysql
Run Code Online (Sandbox Code Playgroud)
现在享受
回应rogerdpack的评论:如果您不知道MySQL root密码并且您不关心MySQL数据/设置,您可以重新安装它并重置root密码,如下所示:
sudo apt-get remove --purge mysql-server mysql-client mysql-common
sudo rm -rf /var/lib/mysql
sudo apt-get install -y mysql-server mysql-client
Run Code Online (Sandbox Code Playgroud)
在安装过程中,您可以选择root用户的密码:
小智 5
如果您知道当前密码,则不必停止 mysql 服务器。打开 ubuntu 终端。使用以下命令登录 mysql:
mysql - username -p
Run Code Online (Sandbox Code Playgroud)
然后输入您的密码。这将带您进入 mysql 控制台。在控制台中,键入:
> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
Run Code Online (Sandbox Code Playgroud)
然后使用以下方法刷新权限:
> flush privileges;
Run Code Online (Sandbox Code Playgroud)
然后你就完成了。
归档时间: |
|
查看次数: |
369344 次 |
最近记录: |