Recientemente, comenzamos a trasladar nuestro WordPress administrado a Synology NAS,Importar esta pieza en la base de datos,Como era de esperar, hubo muchos problemas,Tomó mucho tiempo estudiarlo y resolverlo uno por uno,Documentar el proceso,Compártelo con aquellos que lo necesitan。
【環境】
- MariaDB de Synology、phpMyAdmin ha sido construido。
- El archivo .sql se ha descargado desde el sitio web del alojamiento,El tamaño es de aproximadamente 250 MB。
- DBeaver está instalado en su computadora local,El sistema de producción local es Manjaro。
【Pasos clave】
- SSH se puede agregar a MariaDB desde Host no local Cuentas conectadas。Esto se debe a que la configuración predeterminada de las cuentas es que solo pueden conectarse desde el host local (es decir, el propio NAS).。
- Aumentar el límite de max_allowed_packet para MariaDB。De forma predeterminada, solo hay 1M。
- Instalar maria-clients localmente,para permitir que DBeaver utilice las directivas necesarias para restaurar la base de datos。
Nueva cuenta de 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
Ajuste de los límites de paquetes de 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
Restauración de una base de datos SQL con DBeaver
1. Porque DBeaver necesita restaurar la base de datos a través de mariadb o mysql,Por lo tanto, debe instalar el paquete "mariadb-clients" o "mysql-client" localmente。
2. Confirme la ubicación de mysql utilizando el comando which mysql,De forma predeterminada, estará en /usr/bin/mysql。
which mysql
3. En la pantalla DBeaver que configura la conexión a la base de datos,Debe ir al cliente local para establecer la ubicación de mysql。
Haga clic en Examinar en el cliente local。
4. Se ha agregado una nueva ubicación para MySQL。
◎ De acuerdo con la descripción del documento oficial de DBeaver,Si la ubicación de mysql está en /usr/bin/mysql,A continuación, se establece en /usr,Omita el /bin/mysql que sigue。
◎ Si DBeaver es la versión descargada de la biblioteca del kit Snap,Convertir la ruta a /run/…,Esto hará que se produzcan errores en las ejecuciones posteriores。Si es así, este es el caso,En su lugar, instale DBeaver desde la biblioteca de paquetes oficial。
5. Haga clic con el botón derecho en la base de datos de destino,Seleccione "Herramientas" - "Ejecutar script" para restaurar la base de datos。
6. Seleccione el archivo SQL de origen,Presione Iniciar para restaurar。
《Referencias》
- anfitrión ” no se le permite conectarse a esta mariadb | Comunidad de Synology
- Conceder todos los privilegios activados en MySQL para asignar permisos remotos _grant Todos los privilegios activados *.* para-el blog RDCC
- Platos privados de Brother Bird – CAPÍTULO IX、Editor de programas vim
- ¿Es posible personalizar la configuración de MariaDB en Synology NAS? – Centro de conocimiento de Synology
- Documentación de DBeaver