目標としたこと
QNAPのNASで、ダウンロードしたWordPressを運用したい
このためにMariaDB10をインストールする
phpMyAdminアプリでDBの操作はできるが、コマンドラインからDBを操作したい
MariaDB10のインストール
これは、App Centerからユーティリティの「MariaDB 10」の「+インストール」をクリックしてインストールする
sshでNASにログインして、mysqlと実行しても、コマンドが見つからない
$ mysql
-sh: mysql: command not found
phpMyAdminのインストール
MariaDB10がほんとうにインストールできているのかを確かめる意味と、取り急ぎDBの設定を行なって動作確認をするために、phpMyAdminをインストールする
App Centerから開発者ツールの「phpMyAdmin」の「+インストール」をクリックしてインストールする
インストール後に開くをクリックして、表示される下記の画面で、MariaDB10のインストール時に指定したrootのパスワード入力して、データベースとユーザアカウントを作成した
データベースの作成はコマンドで実行していて、「照合順序」の選択は何を選んだらいいのかわからず調べて、「utf8_general_ci ( 大文字・小文字を区別しない)」を指定した
※ 最後の_ciは、Case Insensitiveの略で大文字小文字を区別しない、という意味 だそうです
phpMyAdminが動作する、データベースが作成できるということは、MariaDB10はインストールできていると考えて、次はコマンドラインからのmysqlコマンドの実行する方法を探した
mysqlコマンドの実行
NASのにsshでログインしてfindコマンドで“mysql”を探してみた
いくつか見つかり、そのディレクトリまでcdして、実行してみたが一番良いところまで行った結果がこれ
$ mysql -uroot -p
Enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
ここでQNAPさんのサポート窓口にお世話になりました
教えていただいた方法がこれ
`getcfg MariaDB10 Install_Path -f /etc/config/qpkg.conf`/bin/mysql -u root -p -h localhost -S /var/run/mariadb10.sock -P 3306
シングルクォートに囲まれている部分を実行するとこうなった
$ getcfg MariaDB10 Install_Path -f /etc/config/qpkg.conf
/share/CACHEDEV1_DATA/.qpkg/MariaDB10
シェルを確認して、.ptofileファイルにパスを追加して
$ echo $SHELL
/bin/sh
$ cat .profile
PATH=$PATH:/share/CACHEDEV1_DATA/.qpkg/MariaDB10/bin
ログインできた
$ mysql -uroot -p -S /var/run/mariadb10.sock
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 9
Server version: 10.5.8-MariaDB-log MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>
毎回を「」付けるのはめんどだし、忘れそうなので、HOMEディレクトリにmymysqlファイルを作成して、パラメータを引き継ぐようにした
mysql $* -S /var/run/mariadb10.sock
感想と謝辞
ポイントはソケットファイル mariadb10.sock の指定でした
QNAPのFAQ「phpMyAdmin から MariaDB 10 にアクセスできないのはなぜですか?」でも'/var/run/mariadb10.sock'を指定するよう説明がありました
QNAPさんのサポート窓口にはお世話になりました この場にても再度お礼を申し上げます