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。
【環境】
- MariaDB da Synology、phpMyAdmin foi construído。
- O arquivo .sql foi baixado do site de hospedagem,O tamanho é de cerca de 250MB。
- O DBeaver está instalado no seu computador local,O sistema de produção local é Manjaro。
【Passos Chave】
- 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).。
- Aumentar o limite de max_allowed_packet para MariaDB。Por padrão, há apenas 1M。
- 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》
- anfitrião ” não é permitido conectar-se a este mariadb | Comunidade de Sinologia
- Conceder todos os privilégios ON no MySQL para atribuir permissões remotas _grant todos os privilégios em *.* para-CSDN blogue
- Pratos privados do irmão Bird – CAPÍTULO IX、Editor de programas vim
- É possível personalizar as configurações do MariaDB no Synology NAS? – Centro de Conhecimento de Sinologia
- Documentação do DBeaver