我已经在CentOS上安装了新的MySQL服务器,并使用命令启动了MySQL服务器服务。
# /sbin/service mysqld start
我检查了该服务,它正在运行。
目前我登录的身份为root@localhost
。我想更改 的密码root
。为此我发出了命令:
/usr/bin/mysql_secure_installation
一旦我发出此命令,系统就会要求输入密码,我尝试按“回车”。这是行不通的。另外,尝试了我的 Linux root 密码,也不起作用。
当我尝试按 Enter 键时,我得到:
Error: Access denied for user 'root'@'localhost' (using password : NO)
当我尝试使用 Linux 盒子本地 root 密码时,我得到:
Error: Access denied for user 'root'@'localhost' (using password : YES)
除了本地计算机root
密码之外,在安装过程中它没有要求我输入任何密码。我在这里缺少什么?我应该怎么做才能从 mysql-workbench 登录?谢谢。
答案1
编辑/etc/my.cnf
并添加:
skip-grant-tables
然后重启MySQL服务并尝试登录
mysql
您也可以查看[官方手册]:
答案2
那里可能有一个root密码设置,通常你应该mysql_secure_installation
以root身份运行,它会提示你输入mysql root密码,然后按回车键即可。
在您的情况下,似乎有一个 root 密码设置,您可以使用以下命令更改它
sudo mysqld_safe --user=mysql --pid-file=/var/run/mysql/mysqld.pid --socket=/var/run/mysql/mysql.sock --datadir=/var/lib/mysql --skip-grant-tables
这将让你启动 mysql,然后你就可以mysql -u root
进入 mysql,然后更新 root 密码。
mysql> use mysql;
mysql> update user set password=PASSWORD("yournewrootpasshere") where User='root';
mysql> flush privileges;
mysql> quit
--skip-grant-tables
option 是使用的键,它不会提示输入密码。
之后,如果你正常重新启动 mysql,它就会出现,mysql_secure_installation
如果你愿意,你甚至可以使用新的 root pass 再次运行。
由于这是全新安装,您还可以删除 mysql 软件包并重新安装。请记住还要删除数据库。