在CentOS Linux中设置MySQL根密码

vuktfyat  于 2022-12-11  发布在  Linux
关注(0)|答案(3)|浏览(175)

我在CentOS Linux上安装了MySQL,并试图设置root密码。为此,我采取了以下步骤:
1.我打开终端并输入su -以root身份运行。
1.然后我运行mysql - u root,这会产生大量输出和另一个提示符。
1.然后输入UPDATE mysql.user SET Password=PASSWORD('NewPassHere') WHERE User='root';
但步骤3产生了以下错误:

-bash: syntax error near unexpected token `('

当我将步骤3更改为UPDATE mysql.user SET Password='NewPassHere' WHERE User='root';时,出现以下错误:

bash: UPDATE: command not found...

如何解决此错误,以便在MySQL中成功设置根密码?

更新

根据Chuck的建议,我尝试了以下方法,但得到了以下结果:

[root@localhost ~]# /usr/bin/mysqladmin -u root password 'newpwd'
/usr/bin/mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)'
Check that mysqld is running and that the socket: '/var/lib/mysql/mysql.sock' exists!

以下两个命令也有以下两个结果:

[root@localhost ~]# sudo service mysqld status
Redirecting to /bin/systemctl status  mysqld.service
mysqld.service
   Loaded: not-found (Reason: No such file or directory)
   Active: inactive (dead)

[root@localhost ~]# sudo service mysqld start
Redirecting to /bin/systemctl start  mysqld.service
Failed to issue method call: Unit mysqld.service failed to load: No such file or directory.

答案

这个问题的解决方案是使用yum remove删除MySQL,然后显式地遵循the steps in this tutorial。但是,我在下面标记Chuck的答案为接受,因为他花了很多时间研究这个问题。

7eumitmz

7eumitmz1#

我通常使用mysqladmin来设置root密码。在CENTOS 6上,请尝试:

/usr/bin/mysqladmin -u root password 'new-password'

这里假设你正在为一个全新的安装设置root密码,而这个root密码当前并不存在。如果你已经有了一个root密码,你需要在这个命令的末尾加上-p,然后输入当前的mysql root密码。
请注意,这只会为root@localhost设置密码。一旦你可以登录到mysql,你应该运行一个查询来查看实际存在多少个root用户。根据版本和平台,你可能会看到至少两个(root@localhost,root@127.0.0.1)。你需要为每个主机单独设置root密码。在mysql命令行中,键入:

SELECT user, host FROM mysql.user WHERE user = 'root';

然后可以再次注销mysql并使用mysqladmin命令设置所有密码,这次使用-h标志指定主机:

/usr/bin/mysqladmin -u root password 'new-password' -h127.0.0.1
7uzetpgm

7uzetpgm2#

我看到OP已经重新安装了mysql,但是我想在CentOS上提一下,你可以使用一个很棒的命令来保护你的安装,并在安装过程中设置mysql的root密码。mysql_secure_installation下面是它的工作原理
首先使用yum安装mysql

[root@mail ~]# yum install mysql-server

然后将mysql设置为在启动时运行并启动mysql

[root@mail ~]# chkconfig mysqld on
[root@mail ~]# service mysqld start

然后运行mysql安全安装,下面是示例输出:(当第一次运行mysql根密码是空白的,所以只需点击输入的第一个问题)

[root@mail ~]# mysql_secure_installation
Enter current password for root (enter for none):
OK, successfully used password, moving on...
Set root password? [Y/n] y
New password:
Re-enter new password:
Password updated successfully!
Remove anonymous users? [Y/n] y
... Success!
Disallow root login remotely? [Y/n] n
... skipping.
Remove test database and access to it? [Y/n] y
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!
Reload privilege tables now? [Y/n] y
... Success!
Cleaning up...
All done!  If you've completed all of the above steps, your MySQL
installation should now be secure.
Thanks for using MySQL!
rmbxnbpk

rmbxnbpk3#

使用mysql您可以:
1)连接到mysql

mysql -u root -p

2)运行mysql命令:

use mysql

3)运行mysql命令:

update user set authentication_string=password('NEWPASSWORD') where user='root';

4)运行mysql命令:

flush privileges;

5)运行mysql命令:

quit

6)现在,您可以使用

mysql -u root

相关问题