Мне нужна была помощь, чтобы понять, почему обновление с MySQL 5.6 до MariaDB 10 на Centos 6 оказывается таким сложным.
Ниже приведены шаги, которые я использую, за которыми следует ошибка.
cat /etc/centos-release
CentOS release 6.8 (Final)
mysql -V
mysql Ver 14.14 Distrib 5.6.35, for Linux (x86_64) using EditLine wrapper
yum -y update
mysqldump --all-databases -p > /tmp/backupdatabase.sql
cp /etc/my.cnf /tmp/my.cnf.bak
service mysqld stop
chkconfig mysqld off
yum remove mysql* mysql-server mysql-devel mysql-libs
edit /etc/yum.repos.d/mariadb.repo to point to MariaDB 10 source
yum clean all
yum install MariaDB-server galera MariaDB-client MariaDB-shared MariaDB-backup MariaDB-common
До этого момента все выглядит нормально:
service mysql start
service mysql start
Starting MariaDB.190801 13:39:12 mysqld_safe Logging to '/var/lib/mysql/designtv.designtv.net.err'.
190801 13:39:12 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
...../etc/init.d/mysql: line 260: kill: (3056) - No such process
Журнал ошибок
190801 14:00:25 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
190801 14:00:25 [ERROR] Can't read from messagefile '/usr/share/mysql/english/errmsg.sys'
/usr/libexec/mysqld: Unknown error 1146
190801 14:00:25 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
190801 14:00:25 InnoDB: Initializing buffer pool, size = 8.0M
190801 14:00:25 InnoDB: Completed initialization of buffer pool
190801 14:00:25 InnoDB: Started; log sequence number 0 44233
190801 14:00:25 [ERROR] Aborting
190801 14:00:25 InnoDB: Starting shutdown...
190801 14:00:30 InnoDB: Shutdown completed; log sequence number 0 44233
190801 14:00:30 [Note]
190801 14:00:30 mysqld_safe mysqld from pid file /var/lib/mysql/designtv.designtv.net.pid ended
"/var/lib/mysql/designtv.designtv.net.err" доступен для чтения всем
ls -la /usr/share/mysql/english/errmsg.sys
-rw-r--r-- 1 root root 61764 Jan 29 2019 /usr/share/mysql/english/errmsg.sys
«[ОШИБКА] Невозможно открыть таблицу mysql.plugin. Запустите mysql_upgrade, чтобы создать ее».
Я не могу запустить mysql_ugrade, пока сервер не заработает.
Используя резервную копию, я выполнил полную переустановку после полного удаления существующих файлов базы данных в / var / lib / mysql.
Теперь я получаю такую ошибку:
190801 16:50:40 InnoDB: Initializing buffer pool, size = 8.0M
190801 16:50:40 InnoDB: Completed initialization of buffer pool
InnoDB: Error: log file ./ib_logfile0 is of different size 0 50331648 bytes
InnoDB: than specified in the .cnf file 0 5242880 bytes!
190801 16:50:40 [ERROR] Plugin 'InnoDB' init function returned error.
190801 16:50:40 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
190801 16:50:40 [ERROR] Aborting
190801 16:50:40 [Note]
190801 16:50:40 mysqld_safe mysqld from pid file /var/lib/mysql/designtv.designtv.net.pid ended
190801 16:53:35 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
190801 16:53:35 [ERROR] Can't read from messagefile '/usr/share/mysql/english/errmsg.sys'
190801 16:53:35 InnoDB: Initializing buffer pool, size = 8.0M
190801 16:53:35 InnoDB: Completed initialization of buffer pool
InnoDB: Error: log file ./ib_logfile0 is of different size 0 50331648 bytes
InnoDB: than specified in the .cnf file 0 5242880 bytes!
190801 16:53:35 [ERROR] Plugin 'InnoDB' init function returned error.
190801 16:53:35 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
190801 16:53:35 [ERROR] Aborting
Вы думаете, что выполнили чистую установку после удаления файлов базы данных, но вы этого не сделали.
В противном случае во втором журнале ошибок не будет указано, что существует файл ib_logfile0, размер которого отличается от указанного размера файлов конфигурации.
Как минимум, вы забыли удалить ib_logfile0 И каталог / etc / mysql.
Предлагаю вам:
service mysql stop
killall -9 mysqld
mv /etc/mysql /etc/mysql.old
mv /var/lib/mysql /var/lib/mysql.old
На этом этапе удалите установленный mysql с помощью диспетчера пакетов.
Переустановите mysql, он запросит у вас детали инициализации, такие как пароль root и т. Д.
Перенастройте mysql в соответствии со своими потребностями и перезапустите его.
Восстановите свои базы данных по одной, если у вас есть отдельные резервные копии. Избегайте восстановления базы данных mysql и вручную воссоздайте всех пользователей. Вам будет легче.
Это должно привести к обновлению и работе mysql.