簡體   English   中英

啟用mySQL遠程連接端口3306 Plesk 11.5 CENTOS

[英]Enable mySQL remote connections port 3306 Plesk 11.5 CENTOS

我在遠程連接到我們的mysql服務器時遇到問題。 我們有2台服務器都運行Plesk 11.5,其中一台是linux(IP 99.99.99.99),另一台是Windows R2 2008(IP 88.88.88.88)。

注意:這些不是真正的IP地址,但是出於安全考慮,我已將它們替換為上述IP地址。

我正在嘗試從Windows計算機連接到Linux計算機上的mysql服務器。 我正在使用mysqli通過PHP腳本進行連接

Warning: mysqli::mysqli() [mysqli.mysqli]: (HY000/2003): Can't connect to MySQL server on '99.99.99.99' (10060) in C:\Inetpub\vhosts\oldburywells.co.uk\httpdocs\setup\includes\db.php on line 12
Failed to connect to MySQL: (2003) Can't connect to MySQL server on '99.99.99.99' (10060)

/etc/my.cnf的內容如下:

[mysqld]
set-variable=local-infile=0
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
# Forced OLD_PASSWORD format is turned OFF by Plesk
#old_passwords=1
port=3306
bind-address=99.99.99.99
# skip-networking

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

在mysql數據庫-db表中,主機的記錄是此忽略insert語句,這是我顯示選項的最簡單方法:

INSERT INTO `db` (`Host`, `Db`, `User`, `Select_priv`, `Insert_priv`, `Update_priv`, `Delete_priv`, `Create_priv`, `Drop_priv`, `Grant_priv`, `References_priv`, `Index_priv`, `Alter_priv`, `Create_tmp_table_priv`, `Lock_tables_priv`, `Create_view_priv`, `Show_view_priv`, `Create_routine_priv`, `Alter_routine_priv`, `Execute_priv`) VALUES
('%', 'designjazzsetup', 'designjazzsu', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'N', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y');

用戶表中的用戶記錄如下所示:

INSERT INTO `user` (`Host`, `User`, `Password`, `Select_priv`, `Insert_priv`, `Update_priv`, `Delete_priv`, `Create_priv`, `Drop_priv`, `Reload_priv`, `Shutdown_priv`, `Process_priv`, `File_priv`, `Grant_priv`, `References_priv`, `Index_priv`, `Alter_priv`, `Show_db_priv`, `Super_priv`, `Create_tmp_table_priv`, `Lock_tables_priv`, `Execute_priv`, `Repl_slave_priv`, `Repl_client_priv`, `Create_view_priv`, `Show_view_priv`, `Create_routine_priv`, `Alter_routine_priv`, `Create_user_priv`, `ssl_type`, `ssl_cipher`, `x509_issuer`, `x509_subject`, `max_questions`, `max_updates`, `max_connections`, `max_user_connections`) VALUES
('%', 'designjazzsu', '*812A9EC8DA3040D2FBE1FDE5A71B25011F43A358', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', '', '', '', '', 0, 0, 0, 0);

/ etc / sysconfig / iptables的內容:

# Generated by iptables-save v1.3.5 on Tue Mar 25 10:57:08 2014
*filter
:INPUT ACCEPT [789031949:87191570991]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [261535305:1869618743997]
#-A INPUT -s 88.88.88.88 -i eth0 -p tcp -m tcp --dport 3306 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 3306 -j ACCEPT
COMMIT
# Completed on Tue Mar 25 10:57:08 2014

當我嘗試通過端口3306(99.99.99.99)上的mysql遠程登錄到linux服務器時,它超時,這在Windows服務器(88.88.88.88)上以及從我的本地辦公室PC上都發生了。

在Windows服務器上,我的db.php include的內容(這是試圖連接到Linux mysql的服務器)看起來像這樣:

<?php
session_start();
$host = "99.99.99.99";
$user = "designjazzsu";
$password = "52dJ5rH6kL77hgd!";
$db = "designjazzsetup";

$mysqli = new mysqli($host, $user, $password, $db);
if ($mysqli->connect_errno) {
    echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}
#echo $mysqli->host_info . "\n";

$mysqli = new mysqli("99.99.99.99", $user, $password, $db, 3306);
if ($mysqli->connect_errno) {
    echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}

#echo $mysqli->host_info . "\n";
?>

我花了整整一天的時間,完全陷入困境。

我在linux服務器上有一個數據庫,需要在兩個服務器之間共享。

任何幫助將不勝感激的家伙。

謝謝你

親切的問候,邁克爾

您不能在兩個地址上綁定。 您可以綁定0.0.0.0地址並在防火牆中制定規則。 示例和有用的鏈接:

unix-linux-mysqld-server-bind綁定到多個IP地址

MySQL綁定到一個以上的IP地址

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM