номер порта сервера mysql

Я только что создал базу данных на mysql на своем сервере. Я хочу подключиться к этому через мой сайт, используя 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()); 

Для окон. Если вы хотите узнать номер порта вашего локального хоста, на котором запущен 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); ?> 

если вы хотите, чтобы ваш порт был переменной, вы можете написать 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», то клиентские библиотеки по умолчанию используют системный сокет файловой системы в системе Unix – попробуйте значение mysql_default_socket из php.ini (если установлено), то значение my.cnf.

Если вы подключаетесь с помощью другого инструмента, попробуйте выполнить команду «показать переменные типа«% socket% »»

Если вы хотите использовать сетевой порт (который немного медленнее), попробуйте указать 127.0.0.1 или физический интерфейс, связанный с машиной.

порт по умолчанию для mysql – 3306

По умолчанию сервер sql-сервера равен 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; часть.

Если вы часто меняете порты, рассмотрите приведенное выше использование порта для большей ремонтопригодности с изменениями, внесенными в переменную $port .

Некоторые вероятные ошибки вернулись сверху:

 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. 

В приведенной ниже ошибке мы, по крайней мере, становимся ближе, после изменения информации о подключении:

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

После дальнейших изменений мы действительно близки, но не совсем:

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

Из Руководства по соединениям PDO :

  <?php $dbhost = 'localhost:3306'; //3306 default port number $dbhost='localhost'; is enough to specify the port number //when we are utilizing xammp default port number is 8080. $dbuser = 'root'; $dbpass = ''; $db='users'; $conn = mysqli_connect($dbhost, $dbuser, $dbpass,$db) or die ("could not connect to mysql"); // mysqli_select_db("users") or die ("no database"); if(! $conn ) { die('Could not connect: ' . mysqli_error($conn)); }else{ echo 'Connected successfully'; } ?>