Номер порта сервера 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-адрес сервера. Мне просто интересно, как узнать, какой порт использовать?
Ответы
Ответ 1
Если ваш сервер MySQL работает по умолчанию, вам не нужно указывать его.
Порт MySQL по умолчанию - 3306.
[обновлено, чтобы показать использование mysql_error()]
$conn = mysql_connect($dbhost, $dbuser, $dbpass)
or die('Error connecting to mysql: '.mysql_error());
Ответ 2
Для окон. Если вы хотите узнать номер порта вашего локального хоста, на котором работает 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.
Ответ 3
проверить этот чувак
<?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);
?>
Ответ 4
если вы хотите, чтобы ваш порт был переменной, вы можете написать 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);
Ответ 5
Если вы укажете "localhost", то клиентские библиотеки по умолчанию используют системный сокет файловой системы в системе Unix - попробуйте значение mysql_default_socket из php.ini(если установлено), то значение my.cnf.
Если вы подключаетесь с помощью другого инструмента, попробуйте выполнить команду "показать переменные типа" % socket% ""
Если вы хотите использовать сетевой порт (который немного медленнее), попробуйте указать 127.0.0.1 или физический интерфейс, связанный с машиной.
Ответ 6
порт по умолчанию для mysql - 3306
По умолчанию сервер sql-сервера равен 1433
Ответ 7
Это визуализация только для 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-вопрос, похоже, не относится к номерам портов afterall. Если вы всегда используете порт по умолчанию 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 Connections:
Ответ 8
<?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';
}
?>