Как установить MySQL на Ubuntu 16.04

8

Я следую этому учебному пособию по цифровому океану для Ubuntu 14.04, чтобы установить mysql на Ubuntu 16.04 для моих проектов Rails. Я, возможно, ошибочно предположил, что процедура будет такой же.

Однако, когда я запускаю команду sudo mysql_install_db, я получаю следующую ошибку:

2016-06-15 18:40:36 [WARNING] mysql_install_db is deprecated. Please consider switching to mysqld --initialize
2016-06-15 18:40:36 [ERROR]   The data directory needs to be specified.

Как я могу завершить настройку? В прошлом я успешно выполнял одну и ту же процедуру в Ubuntu 14.04.

Джавад Хаваджа
источник
4
Что делать , если вы делаете то , что он говорит: mysqld --initialize?
Йос
2
@Jos Это дает следующую ошибку:mysqld: Can't create directory '/var/lib/mysql/' (Errcode: 17 - File exists) 2016-06-15T14:00:28.483462Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). 2016-06-15T14:00:28.484374Z 0 [ERROR] Aborting
Джавад Хаваджа
2
Вероятно, вы можете обойти эту проблему, удалив каталог /var/lib/mysqlи перезапустив --initializeпроцесс.
Йос
1
Спасибо за это! Я беспокоился, что это может вызвать проблемы, поскольку он содержит несколько файлов. Но это сработало. Я завершил установку сейчас.
Джавад Хаваджа
@Jos Вы должны оставить свой комментарий как ответ.
Byte Commander

Ответы:

9

Установка сервера MySQL включает в себя примерно три этапа: 1) распаковка программного обеспечения; 2) создание базы данных по умолчанию; 3) создание имени пользователя / пароля по умолчанию (и сохранение его в базе данных).

Если вы случайно потеряете файлы базы данных (обычно они находятся в /var/lib/mysql), вы можете начать заново, не переустанавливая пакет сервера. Это делается с помощью команды mysqld --initialize. Если вы выполните эту команду, когда база данных уже установлена, она сообщит об ошибке («Файл существует») и не будет пытаться перезаписать базу данных. Однако, если вы не уверены, что процедура установки завершена правильно, можно удалить каталог /var/lib/mysqlи повторно инициализировать базу данных.

--initializeФлаг заставит MySQL для создания корневого пользователя и случайный пароль, который затем записывается в файл журнала. Для получения дополнительной информации см man mysqld.

Jos
источник
5

Сначала проверьте версию Mysql, используя mysql --version.

Если у вас версия 5.7.6 или более поздняя, ​​каталог данных будет инициализирован автоматически и его запуск не требуется sudo mysql_install_db.

дополнительная информация об установке mysql на сервере DigitalOcean находится по адресу https://www.digitalocean.com/community/tutorials/how-to-install-mysql-on-ubuntu-14-04.

Фейсал М
источник