Synology MariaDB importa arquivos sql via DBeaver

Recentemente, começamos a mover nosso WordPress gerenciado para Synology NAS,Importar esta peça para a base de dados,Como esperado, houve muitos problemas,Demorou muito tempo para estudar e resolver um a um,Documente o processo,Partilhe com quem precisa。

 

【環境】

  1. MariaDB da Synology、phpMyAdmin foi construído。
  2. O arquivo .sql foi baixado do site de hospedagem,O tamanho é de cerca de 250MB。
  3. O DBeaver está instalado no seu computador local,O sistema de produção local é Manjaro。

 

【Passos Chave】

  1. SSH pode ser adicionado ao MariaDB a partir de Não-localhost Contas conectadas。Isso ocorre porque as configurações padrão para contas são que elas só podem se conectar a partir de localhost (ou seja, o próprio NAS).。
  2. Aumentar o limite de max_allowed_packet para MariaDB。Por padrão, há apenas 1M。
  3. Instalar maria-clients localmente,para permitir que o DBeaver use as diretivas necessárias para restaurar o banco de dados。

 

Nova conta 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

 

Ajustando os limites de pacotes do 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

 

Restaurando um Banco de Dados SQL com o DBeaver
1. Porque o DBeaver precisa restaurar o banco de dados via mariadb ou mysql,Portanto, você precisa instalar o pacote "mariadb-clients" ou "mysql-client" localmente。

2. Confirme a localização do mysql usando o comando which mysql,Por padrão, ele estará em /usr/bin/mysql。

which mysql

3. Na tela DBeaver que configura a conexão do banco de dados,Você precisa ir para o cliente local para definir a localização do mysql。
Clique em Procurar no cliente local。

4. Um novo local para o MySQL foi adicionado。
◎ De acordo com a descrição do documento oficial do DBeaver,Se a localização do mysql estiver em /usr/bin/mysql,Então isso é definido como /usr,Ignore o /bin/mysql que se segue。
◎ Se DBeaver for a versão baixada da biblioteca do kit Snap,Converter o caminho para /run/…,Isso fará com que as execuções subsequentes falhem。Em caso afirmativo, é esse o caso,Em vez disso, instale o DBeaver a partir da biblioteca de pacotes oficial。

5. Clique com o botão direito do rato na base de dados de destino,Selecione "Ferramentas" - "Executar Script" para restaurar o banco de dados。

6. Selecione o arquivo SQL de origem,Pressione Iniciar para restaurar。

 

《Referências》

Deixe um comentário

Por favor, note: Comentário moderação é ativado e pode atrasar o seu comentário. Não há necessidade de reenviar o seu comentário.