我想用服务器上的pc的外部ip连接数据库,例如:
<? $db_host = "xxx.xxx.xxx.xxx" //external ip
$db_user = "user"; $db_password = "password"; $db_database = "database";
$conn = "mysql:host=$db_host;dbname=$db_database;charset=utf8mb4"; try {$db = new PDO($conn , "$db_user", "$db_password");}catch(PDOException $e) {echo 'Error: '.$e->getMessage();}?>
那么,你能做到吗?如果是这样,我该怎么办呢? 谢谢大家的帮助;)
P.s:抱歉我的英文不好
答案 0 :(得分:1)
<?php
$dbServerName = "DNS Name or ip address";
$dbUsername = "username";
$dbPassword = "password";
$dbName = "dbname";
// create connection
$conn = new mysqli($dbServerName, $dbUsername, $dbPassword, $dbName);
// check connection
if ($conn->connect_error)
{
die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully";
?>
答案 1 :(得分:0)
使用PHP连接远程MySQL服务器非常容易,您需要做的是:
在远程服务器中创建MySQL用户。
为用户授予完全权限:
%
(任何主机)进行连接(有关详细信息,请参阅manual)使用PHP代码连接到服务器(下面给出的示例)
$link = mysql_connect('your_my_sql_servername or IP Address', 'new_user_which_u_created', 'password');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_select_db('sandsbtob',$link) or die ("could not open db".mysql_error());
// we connect to localhost at port 3306
答案 2 :(得分:0)
首先检查您的公共IP地址[Public Ip Means External Ip Address
],从这里:https://www.whatismyip.com/
现在检查您的系统IP地址(使用cmd
中的ipconfig的内部IP地址
两者都是差异所以你需要使用Public Ip Address
你从哪一个https://www.whatismyip.com
现在,您必须为特定iP地址的数据库授予访问权限,默认情况下,Mysql不允许访问它,因此您需要触发此命令。
喜欢这个:
SQL> GRANT ALL PRIVILEGES ON database.* TO 'user'@'your_database_pc_public_ip' IDENTIFIED BY 'newpassword';
示例::
SQL> GRANT ALL PRIVILEGES ON database.* TO 'any_name'@'public_ip' IDENTIFIED BY 'any_password';
然后它的工作对你好:)