MySQL Сравнение версий

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
wiki:mysql [2015/06/30 11:02]
[Кодировки]
wiki:mysql [2020/12/29 02:15] (текущий)
[Администрирование]
Строка 2: Строка 2:
  
 **MySQL** — свободная СУБД для малых и средних приложений. Входит в состав [[LAMP]] и [[XAMPP]]. **MySQL** — свободная СУБД для малых и средних приложений. Входит в состав [[LAMP]] и [[XAMPP]].
 +
 +===== Версии MySQL в Ubuntu =====
 +
 +^ Ubuntu ^ MySQL ^
 +| 12.04 LTS (Precise) | 5.5 |
 +| 14.04 LTS (Trusty) | 5.5, 5.6 |
 +| 15.10 (Wily) | 5.6 |
 +| 16.04 LTS (Xenial) | 5.7 |
 +
  
 ===== Установка ===== ===== Установка =====
Строка 27: Строка 36:
 ==== Кодировки ==== ==== Кодировки ====
 <note important>​ <note important>​
-В данном разделе используется распространённое решение проблемы с кодировкой. Стоит помнить,​ что данное решение не является правильным,​ хоть и помогает временно решить проблему. Для правильного использования кодировки создавайте или храните таблицы в любой удобной для хранения в СУБД, а клиент должен подключаться к СУБД ​в той кодировкев которй выводится текст или производится обработка данных.+В данном разделе используется распространённое решение проблемы с кодировкой. Стоит помнить,​ что данное решение не является правильным,​ хоть и помогает временно решить проблему. Для правильного использования кодировки создавайте или храните таблицы в любой удобной для хранения в СУБД ​кодировке, а вот ​клиент должен подключаться к СУБД ​с указанием ​той кодировкис которй выводится текст или производится обработка данных.
 </​note>​ </​note>​
  
Строка 81: Строка 90:
 <note important>​Если на момент изменения настроек кодировки в базе уже присутствовали записи содержащие кириллицу,​ то они будут иметь неверную кодировку. Перед изменением кодировки убедитесь что в базе нет таблиц и данных,​ либо сделайте дамп всех данных из базы до внесения изменений настроек и восстановите после внесения изменений и перезагрузки MySQL.</​note>​ <note important>​Если на момент изменения настроек кодировки в базе уже присутствовали записи содержащие кириллицу,​ то они будут иметь неверную кодировку. Перед изменением кодировки убедитесь что в базе нет таблиц и данных,​ либо сделайте дамп всех данных из базы до внесения изменений настроек и восстановите после внесения изменений и перезагрузки MySQL.</​note>​
 ===== Администрирование ===== ===== Администрирование =====
 +==== Установка root пароля ==== 
 +<​code>​sudo mysql_secure_installation</​code>​
 ==== Восстановление забытого пароля для root'a ==== ==== Восстановление забытого пароля для root'a ====
- +Схожая проблема возникает если не задать пароль при установке MySQL, в этом случае mysql [[https://​dev.mysql.com/​doc/​mysql-apt-repo-quick-guide/​en/​index.html#​apt-repo-fresh-install|использует]] плагин unix-socket. 
-  -- Остановите ''​mysqld''​+  -- Остановите ''​mysqld''​:
   .. <code bash>​sudo service mysql stop</​code>​   .. <code bash>​sudo service mysql stop</​code>​
   -- Запустите ''​mysqld''​ с параметрами ''​%%--skip-grant-tables --user=root%%'':​   -- Запустите ''​mysqld''​ с параметрами ''​%%--skip-grant-tables --user=root%%'':​
-  .. <code bash>​sudo mysqld --skip-grant-tables --user=root</​code>​+  .. <code bash>​sudo mysqld --skip-grant-tables --user=root</​code> ​Если команда не сработает,​ добавьте строку «''​skip-grant-tables''​» в секцию «''​[mysqld]''​» файла ''/​etc/​mysql/​mysql.conf.d/​mysqld.cnf''​. Затем выполните ''​sudo service mysql restart''​. После выполнения операций удалите эту строку.
   -- Подключитесь к MySQL-серверу командой:​   -- Подключитесь к MySQL-серверу командой:​
   .. <code bash>​mysql -u root</​code>​   .. <code bash>​mysql -u root</​code>​
   -- Обновите пароль для root'​a:​   -- Обновите пароль для root'​a:​
 +  .. <code mysql>​UPDATE mysql.user SET authentication_string=PASSWORD('<​новый пароль>'​),​ plugin='​mysql_native_password'​ WHERE User='​root'​ AND Host='​localhost'; ​   ​
 +FLUSH PRIVILEGES;</​code>​ Для MySQL версий < 5.7:
   .. <code mysql>​UPDATE mysql.user SET Password=PASSWORD('<​новый пароль>'​) WHERE User='​root';​   .. <code mysql>​UPDATE mysql.user SET Password=PASSWORD('<​новый пароль>'​) WHERE User='​root';​
 FLUSH PRIVILEGES;</​code>​ FLUSH PRIVILEGES;</​code>​
-Теперь можете ​войти под root с новым паролем+  -- Перезапустите демона:​ <code bash>​sudo service mysql restart</​code>​  
 +Теперь можете ​проверить вход ​под root с новым паролем: <code bash>​mysql -u root -p</​code>​
 ==== Резервное копирование ==== ==== Резервное копирование ====
 Для создания резервных копий существует специальная утилита ''​mysqldump''​. Основные ее параметры приведены в таблице:​ Для создания резервных копий существует специальная утилита ''​mysqldump''​. Основные ее параметры приведены в таблице:​
Строка 107: Строка 119:
 | ''​%%--%%skip-extended-insert''​ | Не использовать многострочные INSERT-записи при создании дампа. | ''​%%--%%skip-extended-insert''​ | | ''​%%--%%skip-extended-insert''​ | Не использовать многострочные INSERT-записи при создании дампа. | ''​%%--%%skip-extended-insert''​ |
 | ''​-w'​where_clause'''​ | Создавать дамп только тех строк, которые попадают под условие. | ''​-w'​Id > 10 AND Id < 100'''​ | | ''​-w'​where_clause'''​ | Создавать дамп только тех строк, которые попадают под условие. | ''​-w'​Id > 10 AND Id < 100'''​ |
 +
 +==== Отключение и включение автозагрузки сервиса ====
 +Начиная с версии Ubuntu 15.04 отключение и включение сервисов возможно одной командой,​ без редактирования конфигов. В примерах команд ниже слово "​SERVICE"​ следует заменить на "​mysql"​.
 +
 +Узнать стоит ли сервис в автозагрузке:​
 +<​code>​$ systemctl is-enabled SERVICE</​code>​
 +Убрать сервис из автозагрузки в Ubuntu-16.04:​
 +<​code>​$ sudo systemctl disable SERVICE</​code>​
 +Добавить сервис в автозагрузку в Ubuntu-16.04:​
 +<​code>​$ sudo systemctl enable SERVICE</​code>​
 +
  
 ===== MySQL Workbench ===== ===== MySQL Workbench =====