Установка MySQL
Во время установки вводим и подтверждаем пароль для пользователя root в MySQL.
После завершения установки нам потребуется выполнить некоторые дополнительные команды, чтобы наше окружение MySQL было настроено безопасным образом.
Во-первых, нам надо сказать MySQL создать структуру директорий базы данных, где она будет хранить информацию. Вы можете сделать это при помощи команды:
После этого мы запустим простой скрипт, который удалит некоторые опасные настройки по-умолчанию и ограничит доступ к нашей системе управления базами данных. Запустите интерактивный скрипт вводом команды:
Вас попросят ввести пароль, который вы установили для root-аккаунта в MySQL. Затем вас спросят, не хотите ли вы его сменить. Если вас устраивает текущий пароль, введите "n" в командной строке. На все последующие вопросы просто нажимайте клавишу "ENTER" для выбора настроек по-умолчанию. При этом удалятся некоторые тестовые пользователи и базы данных, будет отключена возможность удаленного доступа с учетной записью root-пользователя, и все изменения будут немедленно применены в MySQL.
Сброс пароля пользователя root в MySQL.
Что делать если забыл пароль root-а? Не беда, если есть права суперпользователя на сервере. Начнем:
Остановим MySQL
Запускаем MySQL с особыми параметрами
1 вариант
Запускаем клиента MySQL
Выполняем запрос SQL
2 вариант
mkdir /var/run/mysqld
chown mysql:mysql /var/run/mysqld
/usr/bin/mysqld_safe --skip-grant-tables --user=root &
mysql -u root
USE mysql;
UPDATE user SET authentication_string=PASSWORD("XXXXXXX") WHERE User='root';
Обновим права
Перезапускаем MySQL сервер
Команды управления базой данных.
Создадим базу test с кодировкой utf8
Проверим какая кодировка
Создадим пользователя и назначим ему права для базы test
Установка для Ubuntu 18
apt install mysql-server
mysql_secure_installation
Отключим вход для root без пароля
mysql -p
SELECT user,authentication_string,plugin,host FROM mysql.user;
+------------------+-------------------------------------------+-----------------------+-----------+
| user | authentication_string | plugin | host |
+------------------+-------------------------------------------+-----------------------+-----------+
| root | | auth_socket | localhost |
| mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *CC744277A401A7D25BE1CA89AFF17BF607F876FF | mysql_native_password | localhost |
+------------------+-------------------------------------------+-------
----------------+-----------+
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
FLUSH PRIVILEGES;
Изменим пароль пользователя.
set password for sams@localhost = PASSWORD('Пароль');
Создать дамп всех баз.
mysqldump -u root -p'password' --all-databases > /var/lib/mysql/dumpallbases.sql
По умолчанию в mysql 8 включено бинарное логирование, и место спустя несколько недель на диске может неожиданно закончится.... Для того, чтобы его отключить идем в конфигурационный файл.
находим параметр log_bin раскоментировав его можно изменить путь для логов
параметр max_binlog_size - это максимальные размер лога, по достижении его будет создан новый файл
параметр expire_logs_days = 2 спасет нас так как он ограничит хранение логов двумя днями