termuxにmariadbをインストールする

termuxはMySQLをサポートしていないようなので、妹分のmariadbをインストールすることにしました。

【インストール】

インストールは 

pkg install mariadb

または

apt install mariadb

と、とても簡単です。但し、当初 "Error reading from server - read (5: I/O error)" が出て、どうしてもインストールできませんでした。諦めかけていたのですが翌日 apt を実行すると、あっさり成功しました。何だったんだろう?

 

文字コード

文字コードの変更は MariaDB(MySQL)の文字コード変更 - CentOSinstall.com を参考にさせてもらいました。

/data/data/com.termux/files/usr/etc/my.cnf.d の下に server.cnf というファイルを作成します。中身は 

[client]
default-character-set = utf8mb4
[mysqld]
character-set-server = utf8mb4

 の4行です。この上で

mysqld&

とデーモンを起動すると、日本語が使えるようになりました。

 

【実動】

サーバー側で mysqldump により作成した vocabulary.sql を scp で termux に転送し、データベース登録するスクリプトです。

#!/bin/bash
remote_host="xxx.xxx.xxx.xxx"

scp -i ~/.ssh/id_rsa.server \
user@${remote_host}:/home/user/work/DBback/vocabulary.sql \
/data/data/com.termux/files/home/DBback

mysql dragon < /data/data/com.termux/files/home/DBback/vocabulary.sql

rm /data/data/com.termux/files/home/DBback/vocabulary.sql

f:id:S_E_Hyphen:20201108161706p:plain

スマホでデータベース検索が可能になりました。