我正在我的debian服务器上运行一个mysql数据库,假设它是debian.server.com,我需要将其设置为另一台机器上的wordpress,让我们说mywordpress.com
现在,我对我应该在这里写什么感到困惑:
GRANT ALL PRIVILEGES ON databasename.* TO "wordpressusername"@"hostname"
这里hostname
会是什么?
之后,如何找出wp-config.php文件所需的数据库主机?
答案 0 :(得分:2)
hostname
应设置为客户端尝试联系数据库的主机名/ IP地址。例子:
127.0.0.1 => allows connecting from localhost
localhost => allows connecting from localhost
% => allows connecting from anywhere
192.168.0.123 => allows connecting from local network host 192.168.0.123
123.123.123.123 => allows connecting from host 123.123.123.123
127.0.0.1
和localhost
是MySQL的不同主机名,因此如果您从localhost连接,则需要将其与wp-config.php
匹配。
如果需要,您还需要设置MySQL以接受来自localhost或本地网络外部的连接。
假设您已将MySQL安装配置为接受连接,并且您的数据库位于192.168.0.10,而您的WordPress安装位于192.168.0.20,则以下情况应该有效:
GRANT ALL PRIVILEGES ON databasename.* TO "wordpressusername"@"192.168.0.20"
或
GRANT ALL PRIVILEGES ON databasename.* TO "wordpressusername"@"%"
wordpressusername
应与wp-config.php
中的WP设置相匹配,并且MySQL用户也应在wp-config.php
中设置相同的密码。
注意:尽量不要使用%
主机名标记。它允许用户从任何地方进行连接,因此如果用户的凭据被盗,您可以从世界各地直接打开数据库。因此,如果可能的话,只使用完整和直接的IP地址。