Недавно мы начали переносить наш управляемый WordPress на Synology NAS,Импортируйте этот фрагмент в базу данных,Как и ожидалось, было много проблем,Много времени ушло на изучение и решение одной за другой,Документирование процесса,Поделитесь им с теми, кто в этом нуждается。
【環境】
- MariaDB от Synology、Создан phpMyAdmin。
- Файл .sql был загружен с сайта хостинга,Размер около 250 МБ。
- DBeaver установлен на вашем локальном компьютере,Местная система производства – Манджаро。
【Ключевые шаги】
- SSH может быть добавлен в MariaDB из Нелокальный хост Подключенные учетные записи。Это связано с тем, что по умолчанию учетные записи могут подключаться только с локального хоста (т.е. с самого NAS).。
- Увеличение лимита max_allowed_packet для MariaDB。По умолчанию есть только 1M。
- Установите 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
Восстановление базы данных SQL с помощью DBeaver
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 kit,Преобразуйте путь в /run/…,Это приведет к сбою последующих выполнений。Если это так, то это так,Вместо этого установите DBeaver из официальной библиотеки пакетов。
5. Щелкните правой кнопкой мыши по целевой базе данных,Выберите "Инструменты" - "Выполнить скрипт" для восстановления базы данных。
6. Выберите исходный SQL-файл,Нажмите «Старт» для восстановления。
《Примечания》
- хозяин ” не имеет права подключаться к данному mariadb | Сообщество Synology
- Предоставить All Privileges ON в MySQL для назначения удаленных разрешений _grant All Privileges On *.* к-CSDN блог
- Личная посуда Братца Птицы – ГЛАВА IX、Редактор программ vim
- Можно ли настроить параметры MariaDB на Synology NAS? – Центр знаний Synology
- Документация по DBeaver