mysql服务器端口号

我刚刚在我的服务器上的MySQL上创build了一个数据库。 我想通过我的网站使用PHP连接到这个。 这是我的连接文件的内容:

$dbhost = 'localhost'; $dbuser = 'root'; $dbpass = 'password'; $conn = mysql_connect($dbhost, $dbuser, $dbpass) or die('Error connecting to mysql'); $dbname = 'epub'; mysql_select_db($dbname); 

我知道用户名/密码是什么,我知道服务器的IP地址。 我只是想知道如何知道使用哪个端口?

如果你的MySQL服务器运行在默认设置下,你不需要指定。

默认的MySQL端口是3306。

[更新为显示mysql_error()的用法]

 $conn = mysql_connect($dbhost, $dbuser, $dbpass) or die('Error connecting to mysql: '.mysql_error()); 

对于windows,如果你想知道Mysql运行的本地主机端口号,你可以在MySQL命令行客户端上使用这个查询 –

 SHOW VARIABLES WHERE Variable_name = 'port'; mysql> SHOW VARIABLES WHERE Variable_name = 'port'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | port | 3306 | +---------------+-------+ 1 row in set (0.00 sec) 

它会给你MySQL上运行的端口号。

检查出这个家伙

 <?php // we connect to example.com and port 3307 $link = mysql_connect('example.com:3307', 'mysql_user', 'mysql_password'); if (!$link) { die('Could not connect: ' . mysql_error()); } echo 'Connected successfully'; mysql_close($link); // we connect to localhost at port 3307 $link = mysql_connect('127.0.0.1:3307', 'mysql_user', 'mysql_password'); if (!$link) { die('Could not connect: ' . mysql_error()); } echo 'Connected successfully'; mysql_close($link); ?> 

如果你想把你的端口作为一个variables,你可以这样写php:

 $username = user; $password = pw; $host = 127.0.0.1; $database = dbname; $port = 3308; $conn = mysql_connect($host.':'.$port, $username, $password); $db=mysql_select_db($database,$conn); 

如果指定'localhost',则客户端libs默认使用Unix系统上的文件系统套接字 – 尝试使用php.ini(如果设置)的mysql_default_socket值,然后使用my.cnf值。

如果使用其他工具连接,请尝试发出命令“show variables like'%socket%'”

如果您想使用networking端口(稍慢一点),请尝试指定127.0.0.1或与机器相关的物理接口。

mysql的默认端口是3306

默认的sql server是1433

这是仅PDO可视化,因为mysql_*库已被弃用。

 <?php // Begin Vault (this is in a vault, not actually hard-coded) $host="hostname"; $username="GuySmiley"; $password="thePassword"; $dbname="dbname"; $port="3306"; // End Vault try { $dbh = new PDO("mysql:host=$host;port=$port;dbname=$dbname;charset=utf8", $username, $password); $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); echo "I am connected.<br/>"; // ... continue with your code // PDO closes connection at end of script } catch (PDOException $e) { echo 'PDO Exception: ' . $e->getMessage(); exit(); } ?> 

请注意,这个OP问题似乎并不是关于端口号码。 如果你总是使用3306的默认端口,那么考虑从uri中删除它,也就是删除port=$port; 部分。

如果您经常更换端口,请考虑上述端口使用情况,以获得对$portvariables进行更改的更多可维护性。

从上面返回的一些可能的错误:

 PDO Exception: SQLSTATE[HY000] [2002] No connection could be made because the target machine actively refused it. PDO Exception: SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: No such host is known. 

在下面的错误中,我们至less在更改连接信息后会越来越近:

 PDO Exception: SQLSTATE[HY000] [1045] Access denied for user 'GuySmiley'@'localhost' (using password: YES) 

进一步的变化之后,我们现在非常接近,但并不完全:

 PDO Exception: SQLSTATE[HY000] [1049] Unknown database 'mustard' 

从PDO连接手册: