[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