[Sysadmins] MySQL 5.7 & Roundcube
Vladimir Karpinsky
vkarpinsky на mail.ru
Ср Июн 6 20:12:39 MSK 2018
06.06.2018 19:05, Гусев Владислав Юрьевич пишет:
>>>> 06.06.2018 11:42, Гусев Владислав Юрьевич пишет:
>>>>> Кстати, да. Раундкуб какую библиотеку php использует: mysql или mysqli.
>>>>> У меня первая (тоже на прошлой неделе) перестала работать.
>>>>
>>>> А как это проверить?
>>>>
>>>
>>> Проще всего залезть в php-файлы и посмотреть, используется команда
>> mysql_connect или mysqli_connect (как вариант - конструкция с "new mysqli").
>> Залез в /usr/share/roundcube/program/lib/Roundcube/rcube_db.php, там есть
>> такое упоминание mysql:
>>
>> public static function factory($db_dsnw, $db_dsnr = '', $pconn = false)
>> {
>> $driver = strtolower(substr($db_dsnw, 0, strpos($db_dsnw, ':')));
>> $driver_map = array(
>> 'sqlite2' => 'sqlite',
>> 'sybase' => 'mssql',
>> 'dblib' => 'mssql',
>> 'mysqli' => 'mysql',
>> 'oci' => 'oracle',
>> 'oci8' => 'oracle',
>> );
>>
>
> Походу тут библиотека pdo используется, которая позволяет работаться с разными СУБД.
> Должен быть установлен пакет php7-pdo_mysql, раз у Вас седьмой пхп.
>
>> # rpm -qa | grep mysql
>> libmysqlclient18-10.1.29-alt1.M80P.1
>> libmysqlclient16-5.1.65-alt1
>> php5-pdo_mysql-5.6.36.20180425-alt1.M80P.1
>>
>
> Тут вижу только пакеты от пятого пхп.
>
>> # apt-cache search mysqli
>> php5-mysqli - MySQL Improved Extension for PHP5
>> php5-mysqlnd-mysqli - MySQL Improved Extension for PHP5 with Native Driver
>> php7-mysqli - MySQL Improved Extension for PHP
>> php7-mysqlnd-mysqli - MySQL Improved Extension for PHP with Native Driver
>> pear-DB - Database Abstraction Layer
>> pear-MDB2_Driver_mysqli - mysqli MDB2 driver
>>
>
> apt-cache показывает какие в принципе пакеты есть в репозитарии.
> На него не нужно ориентироваться.
Это я понимаю. Пакет Php7-pdo не установлен, но с MySQL 5.5 работает и так.
Может он нужен для MySQL 5.7...
> Теперь нужно найти конфиг раундкуба, где прописан пароль от мускула, подключиться к мускулу и, на всякий случай, обновить пароль с обновлением привелегий:
> GRANT ALL PRIVILEGES ON roundcube.* TO roundcube на localhost IDENTIFIED BY 'пароль из конфига'';
Я не догадался просто попробовать зайти с консоли пользователем roundcube.
Попробую при следующем подходе...
Вообще говоря в 5.7 меняется таблица mysql.user, поле Password исчезает, а
сам пароль переезжает в authentication_string. Вероятно как-то надо
сообщить об этом роундкубу...
--
С уважением,
Владимир.
Подробная информация о списке рассылки Sysadmins