Xpoint
   [напомнить пароль]

Как правильно настроить MySQL под CentOs?

Метки: [без меток]
2014-12-26 15:16:45 [обр] Владимир[досье]

Здравствуйте.

На сервере под управлением CentOs6.5 настраиваю MySQL, чтобы поднять сайт на базе Битрикс.

Установлен сам MySQL, прописаны настройки конфигурации соответствующие и т.д. и т.п.

Но при попытке запуска сайта в логах вываливается сообщение:

Class: CUser
File: /home/www/sitename/bitrix/modules/main/classes/mysql/user.php
Function: GetList
Line: 549
MySQL Query Error: SELECT U.*, DATE_FORMAT(U.TIMESTAMP_X, '%d.%m.%Y %H:%i:%s') TIMESTAMP_X, IF(U.LAST_ACTIVITY_DATE > DATE_SUB(NOW(), INTERVAL 120 SECOND), 'Y', 'N') IS_ONLINE, DATE_FORMAT(U.DATE_REGISTER, '%d.%m.%Y %H:%i:%s') DATE_REGISTER, DATE_FORMAT(U.LAST_LOGIN, '%d.%m.%Y %H:%i:%s') LAST_LOGIN, DATE_FORMAT(U.PERSONAL_BIRTHDAY, '%d.%m.%Y') PERSONAL_BIRTHDAY , BUF.UF_INN, IF(EXTRACT(HOUR_SECOND FROM BUF.UF_COMP_CREATE_DATE)>0, DATE_FORMAT(BUF.UF_COMP_CREATE_DATE, '%d.%m.%Y %H:%i:%s'), DATE_FORMAT(BUF.UF_COMP_CREATE_DATE, '%d.%m.%Y')) UF_COMP_CREATE_DATE, BUF.UF_SPECIALIZATION, BUF.UF_SHARE, BUF.UF_PARTNERSHIP, BUF.UF_SHOWROOM, BUF.UF_SPEC_COUNT, BUF.UF_ORDERS, BUF.UF_MANUFACTURE, BUF.UF_WAREHOUSE, BUF.UF_AD_AGENCY, BUF.UF_KNOW_FROM, BUF.UF_CITY, BUF.UF_PAY_ACCOUNT, BUF.UF_BIK, BUF.UF_PARTNER, BUF.UF_KPP, BUF.UF_MAINMANAGER, BUF.UF_CREDITLIMIT, BUF.UF_RESERVATIONLIMIT, BUF.UF_REGION, BUF.UF_NEW_MESS, BUF.UF_BDAY, BUF.UF_ADD, BUF.UF_MY_TK, BUF.UF_OWN_PRINTS, BUF.UF_OTHER_OWN_PRINTS, BUF.UF_WORKMEN, BUF.UF_NAME, BUF.UF_TEXT_CITY, BUF.UF_PASSWORDOLD, BUF.UF_LOGINOLD, BUF.UF_ORDER FROM b_user U INNER JOIN b_uts_user BUF ON BUF.VALUE_ID = U.ID WHERE (1=1 AND ( UPPER(BUF.UF_INN) like '7714739424_0' ) ) ORDER BY U.ID desc[Can't create/write to file '/tmp/mysql/#sql_6074_0.MYI' (Errcode: 13)]

Насколько я понимаю, MySQL не имеет достаточных прав, чтобы записать во временную папку /tmp/mysql/.

Но на эту папку проставлены права 1777, пользователь mysql:mysql, в настройках my.cnf mysqld запускается от имени пользователя mysql, а проблема по-прежнему присутствует.

Я так предполагаю, что в самой CentOs надо завести пользователя mysql и задать ему соответствующие права.

Но как это сделать правильно и без ущерба безопасности сервера?
Гугление выдает только типовые инструкции, в которых нет ни слова о том, что пользователя mysql надо отдельно заводить и настраивать.

Заранее спасибо.

Владимир.

спустя 40 минут [обр] Владимир[досье]

Фрагмент лога mysql.log

141226 15:57:04 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
141226 15:57:04 [Warning] '--log_slow_queries' is deprecated and will be removed in a future release. Please use ''--slow_query_log'/'--slow_query_log_file'' instead.
141226 15:57:04 [Warning] '--skip-locking' is deprecated and will be removed in a future release. Please use '--skip-external-locking' instead.
^G/usr/libexec/mysqld: Can't create/write to file '/tmp/mysql/ibeE96Xh' (Errcode: 13)
141226 15:57:04 InnoDB: Error: unable to create temporary file; errno: 13
141226 15:57:04 [ERROR] Plugin 'InnoDB' init function returned error.
141226 15:57:04 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
141226 15:57:04 [Warning] 'user' entry 'root@d3490.colo.hc.ru' ignored in --skip-name-resolve mode.
141226 15:57:04 [Note] Event Scheduler: Loaded 0 events
141226 15:57:04 [Note] /usr/libexec/mysqld: ready for connections.
Version: '5.1.73-log' socket: '/var/lib/mysql/mysql.sock' port: 3306 Source distribution

спустя 21 час [обр] Maus(0/3)[досье]
А вы насчёт SELinux проверили? Гугл среди прочего и его проверить предлагает. Гляньте эту ссылку: http://kb.sp.parallels.com/en/119334 (там другая папка, но это же пример).
Некоторые вообще выключают SELinux, лень заморачиваться
Powered by POEM™ Engine Copyright © 2002-2005