我正在遵循 Moodle 3.0 dev 安装。
在数据库设置过程中出现错误:
Error: Database connection failed
数据库可能已超载或无法正常运行。
网站管理员还应检查数据库详细信息是否已正确指定config.php
Warning: mysqli::mysqli(): (HY000/1045): Access denied for user 'root'@'localhost' (using password: YES) inC:\Apache24\htdocs\moodle\lib\dml\mysqli_native_moodle_database.php on line 79
有人可以告诉我该怎么做才能继续下去。
谢谢
答案1
您必须使用以下命令允许 root 用户远程登录 MySQL 服务器
允许来自本地主机
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '*root_user_password' WITH GRANT OPTION
允许从任何地方
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY PASSWORD '*root_user_password' WITH GRANT OPTION
允许来自某些主机XXX
GRANT ALL PRIVILEGES ON *.* TO 'root'@'X.X.X.X' IDENTIFIED BY PASSWORD '*root_user_password' WITH GRANT OPTION
注意:上述命令必须跟FLUSH PRIVILEGES;
在 MySQL 服务上重新启动
答案2
在 Linux 或 DOS 提示符下输入
mysql -u 根 -p
然后,下面的命令将创建一个新的 root 用户 ID,该用户 ID 可以从任何地方登录。它还会删除已创建的 root 用户,以消除出现问题的可能性。警告:这不是生产环境中的最佳解决方案。
CREATE USER 'root'@'%' IDENTIFIED BY 'P@ssw0rd';
grant all privileges on *.* to 'root'@'%' WITH GRANT OPTION;
flush privileges;
drop user 'root'@'localhost';
drop user 'root'@'127.0.0.1';
drop user 'root'@'::1';
flush privileges;