mysql 启动错误 1045(28000):OpenSuse 12.1 中用户‘root’@‘localhost’(使用密码否)的访问被拒绝

mysql 启动错误 1045(28000):OpenSuse 12.1 中用户‘root’@‘localhost’(使用密码否)的访问被拒绝

在笔记本上运行 openSuse 12.1...

好吧,我配置了 apache 2 和 mysql -(在运行级别启动它之后。

好吧 - 我做了我需要做的一切 - 但现在我陷入困境......

安装 phpmyadmin 后,我尝试查找该网站...但找不到

然后我尝试通过命令行启动 mysql - 但失败了...duhhhhhh!!?? 我现在能做什么 - 这里出了什么问题

linux-wyee:/home/martin # mysql start 
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
linux-wyee:/home/martin #

嗯,我没有胶水 - 可能我弄错了一些密码。你怎么看!我如何确保一切运行良好 - 并且什么都没有 - 这意味着没有任何 apache2、mysql 和所有这些东西停止正常工作

答案1

也许你应该使用系统控制启动 mysql 服务器守护进程

sudo systemctl start mysql.service

此外,如果您想将服务器添加到 suse 标准运行级别,您应该使用:

sudo systemctl enable mysql.service

接下来你必须执行mysql_secure_安装以 root 身份运行。

sudo mysql_secure_installation

这里你必须按照步骤输入mysql root用户的密码。注意这是不是你的Linux机器的root用户。

现在只需使用 mysql 客户端即可。只需发出

mysql

^^请记住,您使用的是 suse。建议如下rcscript 启动无法工作,因为 suse 现在正在使用 systemd。

答案2

您的 mysql 安装只是抱怨您无法在不使用密码的情况下以 root 身份本地连接到 mysql 上的实例。如果您忘记了密码或不知道密码是什么,您可以按如下方式重置密码:

  1. 终止当前正在运行的 mysql 进程(执行 ps -efc| more)或其他操作,并终止任何显示 MySQL 的进程kill <process_id>。更好的选择是尝试使用以下方法正常停止进程rcmysql stop
  2. 创建一个名为的文件(最好位于只有 root 可以读取的目录中),init.txt文件内容如下:

    更新mysql.user设置密码=密码('NewPassword')其中用户='root';刷新权限;

  3. 以安全模式启动 MySQL 并将 init.txt 文件作为参数传递,如下所示:

    mysqld_safe --init-file=mysql-init.txt &
    

现在您可以再次终止 MySQL 并正常重新启动服务(我认为 Suse 使用rcmysql start

rcmysql 启动

按照通常的方式连接到服务器:

mysql -u root@localhost -p

输入您在 init.txt 文件中指定的密码,就可以开始了。删除 init.txt 文件!!!!

相关内容