Récemment, nous avons commencé à déplacer notre WordPress géré vers un NAS Synology,Importer cette pièce dans la base de données,Comme prévu, il y a eu beaucoup de problèmes,Il a fallu beaucoup de temps pour l’étudier et le résoudre un par un,Documenter le processus,Partagez-le avec ceux qui en ont besoin。
【環境】
- MariaDB de Synology、phpMyAdmin a été construit。
- Le fichier .sql a été téléchargé à partir du site Web d’hébergement.,La taille est d’environ 250 Mo。
- DBeaver est installé sur votre ordinateur local,Le système de production local est Manjaro。
【Étapes clés】
- SSH peut être ajouté à MariaDB à partir de Non-localhost Comptes connectés。En effet, les paramètres par défaut des comptes sont qu’ils ne peuvent se connecter qu’à partir de localhost (c’est-à-dire le NAS lui-même).。
- Augmenter la limite de max_allowed_packet pour MariaDB。Par défaut, il n’y a que 1M。
- Installer maria-clients localement,pour permettre à DBeaver d’utiliser les directives requises pour restaurer la base de données。
Nouveau compte 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
Ajustement des limites de paquets 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
Restauration d’une base de données SQL avec DBeaver
1. Parce que DBeaver a besoin de restaurer la base de données via mariadb ou mysql,Par conséquent, vous devez installer le package « mariadb-clients » ou « mysql-client » localement。
2. Confirmez l’emplacement de mysql à l’aide de la commande which mysql,Par défaut, il sera dans /usr/bin/mysql。
which mysql
3. Dans l’écran DBeaver qui configure la connexion à la base de données,Vous devez vous rendre sur le client local pour définir l’emplacement de mysql。
Cliquez sur Parcourir sur le client local。
4. Un nouvel emplacement pour MySQL a été ajouté。
◎ Selon la description du document officiel de DBeaver,Si l’emplacement de mysql est dans /usr/bin/mysql,Ensuite, il est défini sur /usr,Sautez le /bin/mysql qui suit。
◎ Si DBeaver est la version téléchargée à partir de la bibliothèque du kit Snap,Convertissez le chemin d’accès en /run/…,Cela entraînera l’échec des exécutions ultérieures。Si c’est le cas, c’est le cas,Au lieu de cela, installez DBeaver à partir de la bibliothèque de paquets officielle。
5. Faites un clic droit sur la base de données de destination,Sélectionnez « Outils » - « Exécuter le script » pour restaurer la base de données。
6. Sélectionnez le fichier SQL source,Appuyez sur Démarrer pour restaurer。
《Références》
- hôte ” n’est pas autorisé à se connecter à ce mariadb | Communauté Synology
- Accordez tous les privilèges activés dans MySQL pour attribuer des autorisations distantes _grant tous les privilèges activés. *.* à-Blog RPSC
- Les plats privés de Brother Bird – CHAPITRE IX、Editeur de programme vim
- Est-il possible de personnaliser les paramètres MariaDB sur Synology NAS ? – Centre de connaissances Synology
- DBeaver Documentation