Intereting Posts
Outlook API OAuth2 автономный доступ / постоянный доступ с использованием php почему PHPUnit пытается найти файл с именем testuite? Как Laravel может отражать другой сайт, размещенный на одном сервере? Заголовки для вывода изображения PNG, чтобы убедиться, что он кэшируется в браузере? Как я могу рекурсивно включать все файлы с определенным именем в папку с помощью PHP? PHP / JSON – удалять каждое появление определенного символа перед другим персонажем Как эхо сообщения, если количество строк Как динамически обрабатывать роли | разрешения в Symfony2 на уровне базы данных: операции CRUD над ними Как добиться такого же поведения в Ajax Просмотр и изменение переменных сеанса в браузере Сделайте акцию после входа в систему Двойные кавычки в эхом php-скрипте Имеет ли значение, следует ли вызывать exit после заголовка («Location:»)? Тестирование модуля Laravel с помощью ввода с именем массива CodeIgniter в отчетах об ошибках 1 и 1

Подключиться к mysql на другом сервере

Я пытаюсь подключиться к серверу базы данных mysql с другого сервера. Ниже приведены конфигурации на обоих серверах.

Сервер 1: я установил xampp с услугами php и apache, и у него есть следующий ip 172.x1.x1.x1

Сервер 2: я установил mysql, и он имеет следующий ip 172.x1.x1.x2.

следующий сценарий подключения, который я использую для подключения к базе данных

<?php //Database connection constants define("DATABASE_HOST", "172.x1.x1.x2"); define("DATABASE_USERNAME", "root"); define("DATABASE_PASSWORD", ""); define("DATABASE_NAME", "management"); ?> 

Вышеприведенный скрипт находится в файле app_config.php и его расположенном на сервере 1 Следующий скрипт находится в файле с именем connect.php, а его также находится на сервере 1

 <?php require 'app_config.php'; $connect_error = 'Sorry we\'experiencing connection problems.'; $table_error = 'Table not found'; mysql_connect(DATABASE_HOST, DATABASE_USERNAME, DATABASE_PASSWORD) or die($connect_error); 

mysql_select_db (DATABASE_NAME) или die ($ table_error); ?> теперь, когда я пытаюсь подключиться, я получаю следующую ошибку

Предупреждение: mysql_connect () [function.mysql-connect]: хосту 'hr1.saqa.co.za' не разрешено подключаться к этому серверу MySQL в C: \ xampp \ htdocs \ scripts \ functions \ database \ connect.php on строка 4

Неустранимая ошибка: вызов неопределенной функции handle_error () в C: \ xampp \ htdocs \ scripts \ functions \ database \ connect.php в строке 5

Это будет здорово, если вы сможете помочь мне, ребята.

Так как ваш сервер базы данных отличается от вашего сервера php / apache, вам нужно указать имя хоста как 172.x1.x1.x2 в строке подключения mysql-php.

Также убедитесь, что пользовательский root mysql имеет разрешение удаленного подключения. Другой мудрый mysql-сервер не позволит вашему пользователю root удаленно войти в систему. т.е. с вашего сервера1.

Вы можете убедиться, что из таблицы mysql.user .

 mysql> select Host,User from user where User = "root"; +------------+------+ | Host | User | +------------+------+ | 127.0.0.1 | root | | ::1 | root | | localhost | root | | sgeorge-mn | root | | % | root | +------------+------+ 4 rows in set (0.01 sec) 

% означает любой хост.

Чтобы создать пользователя с правами удаленного подключения, используйте следующий запрос mysql :

 mysql> CREATE USER 'root'@'%' IDENTIFIED BY 'your_password'; 

1) Убедитесь, что брандмауэр разрешает MySQL.

2) Убедитесь, что разрешено удаленное подключение к MySQL.