Ubuntu を MySQL から Maria DB にアップグレードする

Ubuntu を MySQL から Maria DB にアップグレードする

まずすべてのデータベースをバックアップします

mysqldump -u caiofior -p --all-databases > /home/caiofior/all.sql

次にmysqlをアンインストールします

sudo apt-get purge $(sudo dpkg -l | grep -E 'mysql-(server|client|commom)' | awk '{print $2}')

すべての設定ファイルを削除する

sudo rm -Rf /etc/mysql
sudo rm -Rf /var/lib/mysql*

次にmariadbをインストールします

sudo apt-get install mariadb-server mariadb-client

データベースを復元する

sudo mysql < /home/caiofior/all.sql

mariadbサービスを再起動します

sudo service mysql restart

そしてログとともにクラッシュする

● mysql.service - LSB: Start and stop the mysql database server daemon
Loaded: loaded (/etc/init.d/mysql; bad; vendor preset: enabled)
Active: failed (Result: exit-code) since mer 2017-06-14 10:26:19 CEST; 12s ago
Docs: man:systemd-sysv-generator(8)
Process: 5885 ExecStart=/etc/init.d/mysql start (code=exited, status=1/FAILURE)

giu 14 10:25:49 portattile-caiofior mysqld[6058]: 170614 10:25:49 [ERROR] Plugin 'blackhole' already installed
giu 14 10:25:49 portattile-caiofior mysqld[6058]: 170614 10:25:49 [ERROR] Plugin 'federated' already installed
giu 14 10:25:49 portattile-caiofior mysqld[6058]: 170614 10:25:49 [ERROR] Plugin 'innodb' already installed
giu 14 10:25:49 portattile-caiofior mysqld[6058]: 170614 10:25:49 [Note] Server socket created on IP: '127.0.0.1'.
giu 14 10:25:49 portattile-caiofior mysqld[6058]: 170614 10:25:49 [ERROR] Fatal error: mysql.user table is damaged or in unsupported 3.20 format.
giu 14 10:26:19 portattile-caiofior mysql[5885]: ...fail!
giu 14 10:26:19 portattile-caiofior systemd[1]: mysql.service: Control process exited, code=exited status=1
giu 14 10:26:19 portattile-caiofior systemd[1]: Failed to start LSB: Start and stop the mysql database server daemon.
giu 14 10:26:19 portattile-caiofior systemd[1]: mysql.service: Unit entered failed state.
giu 14 10:26:19 portattile-caiofior systemd[1]: mysql.service: Failed with result 'exit-code'.

なぜ?

答え1

問題はダンプにあります。ユーザーと権限を含む mysql データベースもバックアップしましたが、maria db がクラッシュしました。

それで前にデータの復元 MySQLデータベースのデータをバックアップする

sudo mysqldump mysql > /home/caiofior/mysql.sql

そして、すべてのデータを復元した後、以前のmysqlデータベースを復元します

sudo mysqladmin drop mysql
sudo mysqladmin create mysql
sudo mysql mysql < /home/caiofior/mysql.sql

関連情報