MySQL не запускается - Ubuntu 14.04 LTS после миграции к новому диску

Я установил в Virtualbox VM 64-разрядную настольную версию Ubuntu 14.04 LTS и MySQL Server 5.6. У меня были некоторые базы данных в основном виртуальном жестком диске машины, но затем я собирался открыть дамп SQL с размером 6 ГБ, и диск не имел достаточного количества пространства для открытия его. Так, я решил создать новый виртуальный диск (13 ГБ) и присоединить его к VM.

После форматирования нового диска I создал новую папку, названную mysql-db-new в новом объеме. Теперь я дам Вам весь процесс, который я сделал для миграции баз данных от основного объема до нового объема:

  1. Сервер MySQL остановки:

    sudo /etc/init.d/mysql stop
    
  2. Переместите данные MySQL в новый диск:

    sudo mv /var/lib/mysql /media/juanjo/2d4aef3c-ae2e-4b30-8bb7-c5723eb5403b/mysql-db-new/
    
  3. Править /etc/mysql/my.cnf указать на новое местоположение (первоначально/var/lib/mysql):

    datadir = /media/juanjo/2d4aef3c-ae2e-4b30-8bb7-c5723eb5403b/mysql-db-new/mysql
    
  4. Настройте AppArmor с новым путем:

    sudo gedit /etc/apparmor.d/usr.sbin.mysqld
    

    Все строки с/var/lib/mysql были заменены новым местоположением /media/juanjo/2d4aef3c-ae2e-4b30-8bb7-c5723eb5403b/mysql-db-new/mysql

  5. Полномочия изменения и группа нового местоположения:

    sudo chgrp mysql /media/juanjo/2d4aef3c-ae2e-4b30-8bb7-c5723eb5403b/mysql-db-new/mysql
    
    sudo chmod 755 /media/juanjo/2d4aef3c-ae2e-4b30-8bb7-c5723eb5403b/mysql-db-new/mysql
    
  6. MySQL Restart:

    sudo /etc/init.d/mysql start
    

Затем, в конце концов, это ступает, MySQL запускаются отказавший. Затем я смотрел /var/log/mysql/error.log и это - вывод:

140904 15:25:14 mysqld_safe Starting mysqld daemon with databases from /media/juanjo/2d4aef3c-ae2e-4b30-8bb7-c5723eb5403b/mysql-db-new/mysql
140904 15:25:14 [Warning] Using unique option prefix key_buffer instead of key_buffer_size is deprecated and will be removed in a future release. Please use the full name instead.
140904 15:25:14 [Warning] Using unique option prefix myisam-recover instead of myisam-recover-options is deprecated and will be removed in a future release. Please use the full name instead.
140904 15:25:14 [Note] Plugin 'FEDERATED' is disabled.
/usr/sbin/mysqld: Table 'plugin' is read only
140904 15:25:14 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
140904 15:25:14 InnoDB: The InnoDB memory heap is disabled
140904 15:25:14 InnoDB: Mutexes and rw_locks use GCC atomic builtins
140904 15:25:14 InnoDB: Compressed tables use zlib 1.2.8
140904 15:25:14 InnoDB: Using Linux native AIO
140904 15:25:14 InnoDB: Initializing buffer pool, size = 128.0M
140904 15:25:14 InnoDB: Completed initialization of buffer pool
140904 15:25:14 InnoDB: highest supported file format is Barracuda.
140904 15:25:14  InnoDB: Waiting for the background threads to start
140904 15:25:15 InnoDB: 5.5.38 started; log sequence number 1637757
140904 15:25:15 [Note] Server hostname (bind-address): '127.0.0.1'; port: 3306
140904 15:25:15 [Note]   - '127.0.0.1' resolves to '127.0.0.1';
140904 15:25:15 [Note] Server socket created on IP: '127.0.0.1'.
140904 15:25:15 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'host' is read only
140904 15:25:15 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended

Таким образом, я не знаю то, что действительно продолжается. Моя первая мысль была на полномочиях, но я дал достаточно полномочий на новой папке местоположения базы данных MySQL.

Я буду ценить Вашу справку.

1
02.02.2020, 20:16
1 ответ

Вы только изменили владение и полномочия для mysql datadir, не все файлы ниже его. Необходимо применить те изменения рекурсивно с -R опция.

Я сделал бы это этот путь:

$ sudo chown -R mysql:mysql /media/juanjo/2d4aef3c-ae2e-4b30-8bb7-c5723eb5403b/mysql-db-new/mysql

$ sudo chmod -R g+rwX /media/juanjo/2d4aef3c-ae2e-4b30-8bb7-c5723eb5403b/mysql-db-new/mysql

datadir не должен быть другим - доступный.


Также удостоверьтесь, что полная цепочка каталогов выше (/media/juanjo/2d4aef3c-ae2e-4b30-8bb7-c5723eb5403b/mysql-db-new/) читаема и исполняема mysql:mysql.

3
22.02.2020, 23:43
  • 1
    я попробовал то решение, но Это продолжает давать мне те же ошибки. –  Juan Jose Polanco Arias 04.09.2014, 23:55
  • 2
    я использовал команды: sudo, показанный-R mysql:mysql/media/juanjo/2d4aef3c-ae2e-4b30-8bb7-c5723eb5403b/mysql-db-new/и sudo chmod-R g+rwx/media/juanjo/2d4aef3c-ae2e-4b30-8bb7-c5723eb5403b/mysql-db-new/без удачи. –  Juan Jose Polanco Arias 05.09.2014, 00:24
  • 3
    В этой точке я попытался бы использовать sudo -u mysql -g mysql и посмотрите, можно ли считать и записать файлы под datadir. Это могли все еще быть проблемы разрешения в каталогах предка, или это могло быть вмешательство AppArmor и предоставление вводящих в заблуждение сообщений об ошибках. Попытайтесь отключить AppArmor временно и посмотрите, совершает ли это ошибки, уходят. –  Bill Karwin 05.09.2014, 01:06
  • 4
    Какова Ваша файловая система? Попытайтесь создать символьную ссылку на свой новый mysql-db-new как/var/lib/mysql и шаги 3 и 4 возврата? Предупреждение, общее предположение! –  Vérace 05.09.2014, 02:39

Теги

Похожие вопросы