Synology MariaDB は DBeaver 経由で sql ファイルをインポートします

最近、管理しているWordPressをSynology NASに移行し始めました,この作品をデータベースにインポートする,さすがに問題点が多かったです,一つ一つ勉強して解くのに、とても時間がかかりました,プロセスを文書化する,必要な人と共有してください。

 

【環境】

  1. Synology の MariaDB、phpMyAdmin がビルドされました。
  2. .sqlファイルはホスティングWebサイトからダウンロードされています,サイズは約250MB。
  3. DBeaver がローカル コンピューターにインストールされている,現地生産体制はマンジャロ。

 

【主なステップ】

  1. SSHは、 非ローカルホスト 接続されているアカウント。これは、アカウントのデフォルト設定では、localhost(つまり、NAS自体)からのみ接続できるためです。。
  2. MariaDBのmax_allowed_packet制限を増やす。デフォルトでは、1Mしかありません。
  3. maria-clientsをローカルにインストールする,DBeaver がデータベースの復元に必要なディレクティブを使用できるようにするため。

 

新しいMariaDBアカウント

# 透過 SSH 連線 Synology NAS
ssh myaccount@192.168.1.1 # myaccount 為 Synology 帳戶;192.168.1.1 為 Synology 位址

# 確認 bind-address 為 0.0.0.0 (預設值)
more /volume1/@appstore/MariaDB10/usr/local/mariadb10/etc/mysql/my.cnf | grep bind-address

# 確認 port 為 3306,且 Synology 上的防火牆有開啟對應的 port
more /var/packages/MariaDB10/etc/my_port.cnf

# 以 root 身份登入資料庫
/volume1/@appstore/MariaDB10/usr/local/mariadb10/bin/mysql --user=root --port=0 --password --host=localhost

# 檢視資料庫現有的使用者 
SELECT User, Host FROM mysql.user; # 記得最後要輸入分號

# 建立一個 dbeaver-restore 帳戶,密碼為 superstrongpassword,並允許其從 192.168.*.* 登入
CREATE USER 'dbeaver-restore'@'192.168.%' IDENTIFIED BY 'superstrongpassword';

# 給予 dbeaver-restore 存取所有資料庫的權限
GRANT ALL PRIVILEGES ON *.* TO 'dbeaver-restore'@'192.168.%' WITH GRANT OPTION;

# 斷開資料庫連線
exit

 

MariaDBパケット制限の調整

#  確認目前 [mysqld] 底下的 max_allowed_packet 的數值
more /volume1/@appstore/MariaDB10/usr/local/mariadb10/etc/mysql/my.cnf

# Synology 建議不要修改預設的 my.cnf 檔案
# 而是使用下面路徑 my.cnf 檔來套用自訂值 
sudo vim /var/packages/MariaDB10/etc/my.cnf

# 在 vim 按 i 後,貼上下面文字
[mysqld]
max_allowed_packet = 500M # 設成大於 sql 檔大小的數值

# 按 ESC 後,存檔離開
:wq!

# 重啟 MariaDB 服務
sudo /usr/syno/bin/synopkg restart MariaDB10

 

DBeaver を使用した SQL データベースの復元
1. DBeaverはmariadbまたはmysqlを介してデータベースを復元する必要があるためです,したがって、「mariadb-clients」または「mysql-client」パッケージをローカルにインストールする必要があります。

2. mysql の場所を確認するには、which mysql コマンドを使用します。,デフォルトでは、/usr/bin/mysql にあります。

which mysql

3. データベース接続を設定する DBeaver 画面,mysqlの場所を設定するには、ローカルクライアントに移動する必要があります。
ローカル・クライアントで「参照」をクリックします。

4. MySQL の新しい場所が追加されました。
◎DBeaverの公式文書の説明によると,mysql の場所が /usr/bin/mysql にある場合,次に、これは /usr に設定されます,次の /bin/mysql をスキップします。
◎DBeaverがSnapキットライブラリからダウンロードしたバージョンの場合,パスを /run/ に変換する…,これにより、後続の実行が失敗します。もしそうなら、これが事実です,代わりに、公式パッケージライブラリからDBeaverをインストールしてください。

5. 宛先データベースを右クリックします,「ツール」-「スクリプトの実行」を選択してデータベースを復元します。

6. ソース SQL ファイルを選択します,[開始]を押して復元します。

 

《参考文献》

コメントを残す

注意してください: コメントモデレーションが有効になって、あなたのコメントを遅らせる可能性があります. コメントを再送信する必要はありません.