当我从wordpress.org下载一个新的wordpress,然后将其粘贴到我的WAMP的www文件夹中,然后在phpmyadmin中创建一个新数据库,然后转到localhost并单击wordpress网站,它要求创建配置文件,然后输入数据库详细信息,我正确地做到了,但是当我点击提交时,它会显示“无法选择数据库”。
任何想法为什么会这样?
我已经有一个本地wordpress网站开始说错误连接到数据库。配置设置都是正确的所以我试图下载一个新的wordpress网站并使用它,我甚至无法设置一个新的。我以前从来没有遇到过像这样的新鲜wordpress网站。
我做了一个旧网站的msqldump,以便我的老板可以把它放在他的服务器上。不确定这是否相关。
干杯。
对于仍在寻找此问题的解决方案的任何人 - 请再次检查您的wp-config.php数据库凭据。我今天遇到了同样的问题,并试图通过搜索高级解决方案使问题过于复杂,而我的DB_NAME字段中有一个空格(应该是'wpdb'并且是'wpdb')。
这个空间完全弄乱了我的连接,我甚至接近重新安装整个事情并丢失所有数据。
如果使用LAMP -
确保为创建的mysql用户授予该数据库的所有权限。在你的MYSQL shell下使用如下
GRANT ALL PRIVILEGES ON database_name.* TO database_user@localhost IDENTIFIED BY 'user_password';
哪里,
database_name =根据wp-config.php的数据库名称
database_user =您的用户名,根据wp-config.php
userpassword =您的用户密码,根据wp-config.php
默认情况下
用户名:root
密码:留空
数据库主机:localhost
table_prefix:wp_
听起来你要么没有创建数据库,要么你的wp-config文件设置不正确。您是否编辑了wordpress的wp-config.php文件并提供了正确的数据库名称和用户凭据。有关详细信息,请参阅wordpress的Famous 5 minute installation。
我花了太长时间才发现我的mysql数据库也没有在任何其他网站上工作。我重新安装了Wamp Server,但它确实有效。
验证wp-config.php文件。我有同样的错误,问题与引号有关:'root'vs'root'
编辑:正确的是单引号
'
对我来说,解决方案是给wp_user
wp_db
数据库的所有权限。
我使用命令行解释器(CLI)实现了这一点:
$ mysql -uroot -p
MariaDB [(none)]> GRANT ALL ON `wp_db`.* TO `wp_user`@`localhost` IDENTIFIED BY 'pass';
MariaDB [(none)]> exit;
完成这些操作后,我重新启动了数据库:
$ systemctl restart mysql
当然,数据库名称(wp_db),用户名(wp_user)和用户密码(pass)可以不同。
我的问题是,当我向数据库用户授予权限时,主机与wp_config.php中的主机不匹配
/** MySQL hostname */
define('DB_HOST', 'localhost:3306');
我正在授予权利
GRANT ALL ON databaseName.* TO 'UserName'@'127.0.0.1';
当我通过ssh连接到本地主机时,这使我可以访问,但它与wp_config.php不匹配。所以我不得不像这样格兰特然后这一切都奏效了。
GRANT ALL ON databaseName.* TO 'UserName'@'localhost';