我在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的答案为接受,因为他花了很多时间研究这个问题。
3条答案
按热度按时间7eumitmz1#
我通常使用mysqladmin来设置root密码。在CENTOS 6上,请尝试:
这里假设你正在为一个全新的安装设置root密码,而这个root密码当前并不存在。如果你已经有了一个root密码,你需要在这个命令的末尾加上
-p
,然后输入当前的mysql root密码。请注意,这只会为root@localhost设置密码。一旦你可以登录到mysql,你应该运行一个查询来查看实际存在多少个root用户。根据版本和平台,你可能会看到至少两个(root@localhost,root@127.0.0.1)。你需要为每个主机单独设置root密码。在mysql命令行中,键入:
然后可以再次注销mysql并使用mysqladmin命令设置所有密码,这次使用
-h
标志指定主机:7uzetpgm2#
我看到OP已经重新安装了mysql,但是我想在CentOS上提一下,你可以使用一个很棒的命令来保护你的安装,并在安装过程中设置mysql的root密码。mysql_secure_installation下面是它的工作原理
首先使用yum安装mysql
然后将mysql设置为在启动时运行并启动mysql
然后运行mysql安全安装,下面是示例输出:(当第一次运行mysql根密码是空白的,所以只需点击输入的第一个问题)
rmbxnbpk3#
使用mysql您可以:
1)连接到mysql
2)运行mysql命令:
3)运行mysql命令:
4)运行mysql命令:
5)运行mysql命令:
6)现在,您可以使用