Я не могу запустить mysql после перемещения данных на внешний жесткий диск.
Моя настройка (Распбиан):
- Папка данных MySQL по умолчанию: /var /lib /mysql
- Целевая папка данных MySQL: /media /exthdd /mysql_data
И вот как я попытался переместить мои данные MySQL:
sudo service mysql stop
sudo mkdir /media/exthdd/mysql_data
sudo cp -adR /var/lib/mysql/ /media/exthdd/mysql_data
sudo chown mysql:mysql -R /media/exthdd/mysql_data
sudo chmod 771 -R /media/exthdd/mysql_data/
sudo nano /etc/mysql/my.cnf
datadir = /media/exthdd/mysql_data
sudo service mysql start
Это ошибка, которую я получил потом:
Работа для mysql.service не удалась. Смотрите подробности в systemctl status mysql.service и journalctl -xn.
journalctl -xn
я получил:
Файлы журнала не найдены.
Для systemctl status mysql.service
mysql.service - LSB: запуск и остановка демона сервера баз данных mysql
Загружен: загружен (/etc/init.d/mysql)
Активно: не удалось (Результат: код выхода) с сб. 2016-08-20 18:58:48 CST; 2мин 4с назад
Процесс: 27436 ExecStop =/etc/init.d/mysql stop (код = выход, статус = 0/ УСПЕХ)
Процесс: 373 ExecStart =/etc/init.d/mysql start (код = выход, статус = 1/ отказ)
И журнал ошибок sudo cat /var/log/mysql/error.log
имеет следующее:
160820 19:05:50 mysqld_safe Запуск демона mysqld с базами данных из /media /exthdd /mysql_data
160820 19:05:50 [Предупреждение] Использование уникального префикса параметра key_buffer вместо key_buffer_size устарело и будет удалено в следующем выпуске. Пожалуйста, используйте полное имя вместо.
160820 19:05:50 [Примечание] /usr /sbin /mysqld (mysqld 5.5.49-0+deb8u1) запускается как процесс 2403 ...
160820 19:05:50 [Предупреждение] Использование уникального префикса параметра myisam-recovery вместо myisam-recovery-options устарело и будет удалено в следующем выпуске. Пожалуйста, используйте полное имя вместо.
160820 19:05:50 [Примечание] Плагин «FEDERATED» отключен. /usr /sbin /mysqld: таблица «mysql.plugin» не существует
160820 19:05:50 [ОШИБКА] Не удается открыть таблицу mysql.plugin. Пожалуйста, запустите mysql_upgrade, чтобы создать его.
160820 19:05:50 InnoDB: куча памяти InnoDB отключена
160820 19:05:50 InnoDB: мьютексы и rw_locks используют атомарные встроенные функции GCC
160820 19:05:50 InnoDB: сжатые таблицы используют zlib 1.2.8
160820 19:05:50 InnoDB: Использование встроенного в Linux AIO
160820 19:05:50 InnoDB: Инициализация пула буферов, размер = 128.0M
160820 19:05:50 InnoDB: завершена инициализация пула буферов
160820 19:05:50 InnoDB: самый высокий поддерживаемый формат файла - Barracuda. InnoDB: сканирование журнала прошло после контрольной точки lsn 49439
160820 19:05:50 InnoDB: База данных не была нормально закрыта! InnoDB: запуск восстановления после сбоя. InnoDB: чтение информации табличного пространства из файлов .ibd ... InnoDB: восстановление возможных полузаписанных страниц данных из буфера InnoDB: буфер с двойной записью ... InnoDB: Восстановление: отсканировано до лог-номера последовательности 1595675
160820 19:05:51 InnoDB: запуск применения пакета записей журнала к базе данных ... InnoDB: Прогресс в процентах: 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 71 71 72 73 74 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 InnoDB: применение партии завершено
160820 19:05:51 InnoDB: Ожидание запуска фоновых потоков
160820 19:05:52 InnoDB: 5.5.49 запущен; регистрационный номер 1595675
160820 19:05:52 [Примечание] Имя хоста сервера (bind-адрес): '127.0.0.1'; порт: 3306
160820 19:05:52 [Примечание] - «127.0.0.1» преобразуется в «127.0.0.1»;
160820 19:05:52 [Примечание] Серверный сокет, созданный для IP: «127.0.0.1».
160820 19:05:52 [ОШИБКА] Неустранимая ошибка: невозможно открыть и заблокировать таблицы привилегий: таблица «mysql.host» не существует
160820 19:05:52 mysqld_safe mysqld из файла pid /var/run/mysqld/mysqld.pid закончилась
[ОБНОВЛЕНИЕ] Я обновил mysql до 5.6.30-1, но проблема сохраняется (хотя ошибки теперь другие). Кроме того, не путайте, я сделал символическую ссылку из /var /lib /mysql -> /media /exthdd /mysql
orangepi @ OrangePI:/var/lib/mysql $ sudo служба mysql запускается orangepi @ OrangePI:/var/lib/mysql $ sudo служба mysql статус
● mysql.service - MySQL Community Server
Загружен: загружен (/lib/systemd/system/mysql.service; включен)
Активен: неактивен (мертв) с понедельника 2016-08-22 03:55:30 CST; 40 лет назад
Процесс: 8151 ExecStartPost =/usr/share/mysql/mysql-systemd-start post> (код = выход, статус = 0/ УСПЕХ)
Процесс: 8150 ExecStart =/usr/ bin/mysqld_safe (код = выход, статус = 0/ УСПЕХ)
Процесс: 8148 ExecStartPre =/usr/share/mysql/mysql-systemd-start pre> (код = выход, статус = 0/ УСПЕХ) Основной PID: 8150 (код = выход, статус = 0/ УСПЕХ)
22 августа, 03:55:00 OrangePI mysqld_safe [8150]: 160822 03:55:00 mysqld_safe Невозможно войти в журнал ошибок и системный журнал одновременно. Удалить все --log-error configura ... ke эффект.
22 августа, 03:55:00 OrangePI mysqld_safe [8150]: 160822 03:55:00 mysqld_safe Ведение журнала в /var/log/mysql/error.log.
22 августа 03:55:00 OrangePI mysqld_safe [8150]: 160822 03:55:00 mysqld_safe Запуск демона mysqld с базами данных из /var/lib/mysql
22 августа, 03:55:00 OrangePI mysqld_safe [8150]: 160822 03:55:00 mysqld_safe mysqld из файла pid /var/run/mysqld/mysqld.pid завершен
22 августа, 03:55:30. OrangePI systemd [1]: запущен MySQL Community Server. Подсказка: некоторые строки были эллиптическими, используйте -l, чтобы показать их полностью.
И снова журнал ошибок:
orangepi @ OrangePI:/var/lib/mysql $ sudo cat /var/log/mysql/error.log
160822 03:55:00 mysqld_safe Запуск демона mysqld с базами данных из /var/lib/mysql
2016-08-22 03:55:00 0 [Предупреждение] Использование уникального префикса параметра key_buffer вместо key_buffer_size устарело и будет удалено в следующем выпуске. Пожалуйста, используйте полное имя вместо.
2016-08-22 03:55:00 0 [Warning] TIMESTAMP с неявным значением DEFAULT устарела. Пожалуйста, используйте опцию сервера --explicit_defaults_for_timestamp (более подробную информацию смотрите в документации).
2016-08-22 03:55:00 0 [Примечание] /usr /sbin /mysqld (mysqld 5.6.30-1) запускается как процесс 8516 ...
2016-08-22 03:55:00 8516 [Предупреждение] Не удается создать тестовый файл /var/lib/mysql/OrangePI.lower-test
2016-08-22 03:55:00 8516 [Предупреждение] Не удается создать тестовый файл /var/lib/mysql/OrangePI.lower-test /usr /sbin /mysqld: Невозможно изменить dir на '/var/lib/mysql /'(Errcode: 13 - В доступе отказано)
2016-08-22 03:55:00 8516 [ОШИБКА] Отмена
2016-08-22 03:55:00 8516 [Примечание] Конец бинлога
2016-08-22 03:55:00 8516 [Примечание] /usr /sbin /mysqld: завершение работы завершено
160822 03:55:00 mysqld_safe mysqld из файла pid /var/run/mysqld/mysqld.pid закончилась
Он говорит, что не может создать тестовый файл, но mysql имеет все разрешения и владеет всеми папками / файлами mysql.