Подключение и работа с базой данных в продуктах Yeastar
Материал из Xgu.ru
Эта статья описывает подключение к базам данных станции MyPBX.
Содержание |
[править] Подключение к базам данных «CDR» и «Record», станции MyPBX с помощью доступа к выделенному порту MySQL
Для подключения к базе данных (таблицы статистики «CDR» и записи разговоров «Record») необходимо выполнить следующие действия:
1. Включить доступ к таблицам базы в веб-панели станции MyPBX во вкладке «Система» -> «Доступ к базе данных». Нажать кнопку «добавить» для создания учетной записи и настройки разрешений.
2. Создать пользователя для работы с базой и задать пароль. Выбрать таблицы «CDR» и «Record». В примере использован произвольный логин «dbreader», пароль «dbtest».
3. После произведенных настроек доступ к БД на станции будет открыт по порту 3306.
[править] Подключение MySQL Workbench к базе данных MySQL MyPBX
Для проверки доступа к MySQL по порту, необходимо настроить подключение к базе данных в клиентском приложении.
Ниже описано подключение к MySQL станции на примере приложения MySQL Workbench.
Для подключения необходимо выполнить следующие действия:
1. В консоли MySQL Workbench создать новое подключение.
2. В параметрах подключения, ввести Адрес MyPBX, Имя пользователя, Порт (3306), Пароль (ввести в всплывающем окне).
3. В вкладке «Advanced» в параметрах подключения, выбрать флажок использование протокола аутентификации старого образца «Use the old authentication protocol».
4. После настройки параметров авторизации, в консоли приложения MySQL Workbench, будут доступны инструменты для работы с базой данных.
[править] Подключение MySQL Workbench к базе данных MySQL MyPBX с помощью SSH туннеля
Для подключения к серверу баз данных в станции MyPBX в средствах интеграции сторонних приложений, необходимы библиотеки, которые поддерживают соединение с MySQL сервером через туннель SSH.
Механизм подключения и работы с MySQL через SSH должен поддерживаться практически во всех средствах разработки и библиотеках.
База данных MyPBX в документации Производителя и методы работы с ней официально не описаны, поэтому попытаемся дать Вам некоторые рекомендации.
Подключение к базе данных рассмотрим на примере утилиты MySQL Workbench, которую можно скачать http://www.mysql.com/products/workbench/:
1. В веб-панели MyPBX необходимо разрешить подключение к станции MyPBX по протоколу SSH.
2. В MySQL Workbench создать подключение с помощью “Standart TCP/IP over SSH”.
3. В поле SSH Hostname – указать IP-адрес станции и порт SSH – 8022.
4. В поле SSH Username – указать имя пользователя SSH – root,
5. В диалоге по кнопке “Store In Vault …” под SSH Password указать пароль (по умолчанию – ‘ys123456’)
6. В поле MySQL Username – указать localhost IP-адрес станции 127.0.0.1, в поле MySQL Server Port указываем порт 3306
7. В поле Username указать имя пользователя Базы данных – root
8. В диалоге по кнопке “Store In Vault …” под Password указать пароль (по умолчанию – ‘ys123456’)
9. Во вкладке Advanced установить флажок «Use the old authentication protocol».
10. Кнопкой Test Connection мы можем проверить подключение. Подключение должно выполниться успешно.
11. В панели MySQL Workbench появится запись настроенного подключения, при нажатии на которую открывается консоль редактора баз данных.
В редакторе Баз Данных выбираем Базу данных «mypbx»
В базе данных MyPBX выбираем таблицу «extensions», в таблице «extensions», с помощью вызова контекстного меню правой клавишей мыши выбираем «SELECT ROWS».
В верхней половине рабочей области редактора мы имеем возможность ввода команд SQL, а в нижней – видим отображение результата.
С помощью данного редактора можно найти необходимую Вам информацию по данным для Вашей задачи по интеграции.
Важно отметить, что выполнение команд по изменению структуры Базы Данных (выполнение операторов DDL) может вызвать нарушение работоспособности MyPBX, которое возможно будет устранить только лишь возвратом АТС к заводской конфигурации.
[править] Работа с БД из командной строки
Доступ к базе данных возможен также из командной строки станции.
Для доступа необходимо подключиться к MyPBX по протоколу SSH.
В консоли SSH, необходимо набрать следующие команды:
Команда:
mysql -uroot -p
Пользователь: root
Пароль: ys123456
Или вход с указанием пароля, команда:
mysql -uroot -pys123456
Примеры работы с БД из командной строки:
Пример 1. Выборка данных из таблицы Extensions
root@MyPBX:/persistent/etc/samba/lib# mysql -uroot -pys123456 Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2165 Server version: 5.1.61 Source distribution Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. No entry for terminal type "xterm"; using dumb terminal settings. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> use mypbx; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed mysql> select USERNAME, FULLNAME, CID_NUMBER from extensions; +----------+----------+------------+ | USERNAME | FULLNAME | CID_NUMBER | +----------+----------+------------+ | 104 | 104 | 104 | | 103 | 103 | 103 | | 102 | 102 | 102 | | 101 | 101 | 101 | | 100 | 100 | 100 | | 105 | 105 | 105 | | 106 | 106 | 106 | | 380 | 380 | 380 | | 381 | 381 | 381 | | 382 | 382 | 382 | | 383 | 383 | 383 | | 384 | 384 | 384 | | 385 | 385 | 385 | | 386 | 386 | 386 | | 387 | 387 | 387 | | 388 | 388 | 388 | | 389 | 389 | 389 | +----------+----------+------------+ 17 rows in set (0.00 sec) mysql>
Пример 2. Изменение значения поля NICKNAME в таблице mypbx.autop_phonebook:
login as: root root@192.168.254.232's password: root@MyPBX:~# mysql -uroot -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 3449 Server version: 5.1.61 Source distribution Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. No entry for terminal type "xterm"; using dumb terminal settings. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> UPDATE mypbx.autop_phonebook SET NICKNAME = '1' WHERE OFFICE = '123678'; Query OK, 1 row affected (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 0 mysql> UPDATE mypbx.autop_phonebook SET FIRSTNAME = '1' WHERE OFFICE = '123678'; Query OK, 1 row affected (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 0 mysql>