Настраиваем Дентал-Софт для работы с MySQL в Linux

Программное обеспечение для стоматологических клиник и кабинетов

Модератор: admin

Ответить
AlexanderBazhenoff
Сообщения: 2
Зарегистрирован: Сб фев 13, 2016 8:24 am

Настраиваем Дентал-Софт для работы с MySQL в Linux

Сообщение AlexanderBazhenoff » Сб фев 13, 2016 8:55 am

Процесс установки Дентал-Софт и MySQL Connector/ODBC для Windows тривиален и расписывать его я не буду. Рассмотрю лишь саму настройку MySQL под Linux. Используемый софт:
  • Дентал-Софт 1.7.14
    MySQL 5.5.47
    Debian Wheezy 7.9
Устанавливаем и настраиваем MySQL.

Код: Выделить всё

apt-get install mysql-server mysql-client
Далее вас спросят задать пароль суперпользователя root. По завершению установки открываем и редактируем конфигурационный файл:

Код: Выделить всё

nano /etc/mysql/my.cnf
и находим строчку:

Код: Выделить всё

#bind-address = 0.0.0.0
Для того, чтобы к серверу БД можно было обращаться с любого IP адреса строка должна быть закоментирована, то есть начинаться с #.

Дентал-Софт работает в кодировках UTF8 и CP1251. По-умолчанию MySQL 5.1 и выше настроен на работу в UTF8, но некоторые параметры от версии к версии могут отличаться. На всякий cлучай установим кодировку UTF8 принудительно.

Находим в том же my.cnf раздел [mysqld]. Настройки UTF8 выглядят следующим образом:

Код: Выделить всё

[mysqld]
# UTF8 setings
character-set-server = utf8
collation-server = utf8_unicode_ci
init_connect=‘SET collation_connection = utf8_unicode_ci’
init_connect=’SET NAMES utf8'
skip-character-set-client-handshake
Кроме того, нужно переключить север MySQL на использование нижнего регистра в именах таблиц:

Код: Выделить всё

lower_case_table_names = 1
Сохраняем файл конфигурации (в nano нажимаем cntrl+O) и для обновления параметров перезапускаем MySQL:

Код: Выделить всё

/etc/init.d/mysql restart
После чего логинимся в консоль mysql:

Код: Выделить всё

mysql -u root -p
Вводим пароль суперпользователя и проверяем заданные нами настройки кодировок — вводим в консоли MySQL:
SHOW VARIABLES LIKE “%character%”;SHOW VARIABLES LIKE “%collation%”;
Результат должен быть:

Код: Выделить всё

mysql> show variables like "%character%";show variables like "%collation%";
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | utf8                       |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

+----------------------+-----------------+
| Variable_name        | Value           |
+----------------------+-----------------+
| collation_connection | utf8_unicode_ci |
| collation_database   | utf8_unicode_ci |
| collation_server     | utf8_unicode_ci |
+----------------------+-----------------+
3 rows in set (0.00 sec)
Создаем базу данных и пользователей.

Далее, не выходя из консоли MySQL создаем нового пользователя:

Код: Выделить всё

mysql> CREATE USER 'DentalSoft'@'localhost' IDENTIFIED BY 'some_password';
где: some_password — пароль пользователя DentalSoft.

Разрешаем пользователю DentalSoft доступ с любого IP адреса и назначем права DBA:

Код: Выделить всё

mysql> GRANT ALL PRIVILEGES ON *.* TO ‘DentalSoft’@’%’ IDENTIFIED BY ‘some_password’;
Проверяем права пользоваетеля DentalSoft:

Код: Выделить всё

mysql> SHOW GRANTS FOR ‘DentalSoft’@’%’;
Результатом выполнения должно быть:
Grants for DentalSoft@%
+------------------------------------------------------------------+
GRANT ALL PRIVILEGES ON *.* TO ‘DentalSoft’@’%’ IDENTIFIED BY PASSWORD ‘*0DC3BCF65D8832D42E3856FEF31D25647E8FA3DD’
Не выходя из консоли MySQL cоздаем пустую БД и смотрим её параметры:

Код: Выделить всё

mysql> CREATE DATABASE `dental_soft;
mysql> SHOW CREATE DATABASE `dental_soft`;
Результатом должно быть:

Код: Выделить всё

Database    | Create Database
--------------------------------------------------------------------
dental_soft | CREATE DATABASE `dental_soft` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci */
Настраиваем Дентал-Софт.

Открываем на клиентской windows-машине в проводнике:

C:\Program Files (x86)\Дентал-Софт\Дентал-Софт\_SYS\SQL

и в зависимости от версии установленного драйвера MySQL Connector/ODBC находим файл:

init_sql_1.sql — для версии ODBC 3.5;
init_sql_4.sql — для версии ODBC 5.1;
init_sql_9.sql — для версии ODBC 5.2;
init_sql_10.sql — для версии ODBC 5.3.

открываем его в блокноте и вставляем содержимое с заменой:

Код: Выделить всё

SET CHARACTER SET utf8;
set character_set_client=’utf8';
set character_set_results=’utf8';
set collation_connection=’utf8_unicode_ci’;
Далее запускаем Дентал-Софт на любой клиентской windows-машине и создаем подключение:
  • IP-адрес вашего Debian сервера с MySQL;
    Тип базы данных: MySQL ODBC 5.1 (3.5, 5.2 или 5.3 — в зависимости от версии установленного драйвера ODBC);
    Имя базы данных: dental_soft;
    Имя пользователя, пароль и наименование подключаемой базы.
При запуске вас предупредит о том, что базы не существует и нужно её создать (схему мы создали, но данных там еще нет). Соглашаемся, ждем завершения. Настройка завершена.

Обратите внимание, что язык интерфейса Windows для Дентал-Софт версий 1.7.x должен быть обязательно русский, а для активации по программным ключам нужно войти под локальным (не доменным!) администратором.

Ответить