MySQL GPL - широко распространённый сервер баз данных, доступный под свободной лицензией, сравнительно быстрый и не требующий особых ресурсов, в качестве языка запросов использует SQL.
Установка MySQL
# apt-get install MySQL-client MySQL-server
- Назначение пароля для root:
# mysql --user=root mysql
>SET PASSWORD FOR 'root'@'localhost'=PASSWORD('<password>');
- Для сброса или изменения забытого пароля root нужно перезапустить сервер с включённой опцией 'skip-grant-tables'. Опция задаётся или в /var/lib/mysql/my.cоnf, или в командной строке запуска сервера (заданием переменной OPT в /etc/sysconfig/mysqld в виде OPT='--skip-grant-tables'). В этом случае сервер не будет проверять права доступа к базам и будет возможность подключиться к серверу пользователем root без ввода пароля.
- Для работы logrotate с заданным паролем root для mysql требуется создать секцию в /var/lib/mysql/my.conf:
[mysqladmin]
password = <secret>
user= root
- Для разрешения обращений к базам mysql по сети в /var/lib/mysql/my.cnf:
- убрать skip-networking
- добавить bind-address=127.0.0.1 , или что-либо другое. Или убрать совсем, если разрешено слушать все интерфейсы.
Создание базы
$ mysqladmin -p create <db_name>
$ mysql -p <db_name> < <sql-script>
- Установка привилегий для прочих пользователей
$ mysql --user=root mysql -p
>GRANT ALL PRIVILEGES ON <db_name>.<table/*> to <user@host_ip> identified by <password>;
Если пользователи по каким-либо причинам создаются не GRANT'ом, а непосредственным INSERT/UPDATE системных таблиц, то после изменений надо перечитать таблицы ACL: >flush privileges;
Получение дампа базы
$ mysqldump -u root -p data_base > data_base.dump
Получение дампа всех баз
$ mysqldump -u root --all-databases > mysql.dump
Восстановление из дампа
# mysql -u root -p < data_base.dump
# mysql <mysql.dump
После восстановления всех баз требуется выполнить в консоли 'flush privileges' для обновление таблиц доступа.
Резервная копия / восстановление привилегий
Для получения текущих привилегий из базы в формате директив GRANT, можно воспользоваться утилитой mysqldumpgrants.
Ссылки
Документация
MySQL Reference Manual
Статьи
- "MySQL Crash Recovery" - описания возможных типов повреждения таблиц и структур данных MySQL в случае аварийных завершений работы сервера, а также способов восстановления после аварий.
- "Six steps to secure sensitive data in MySQL" - всё более-менее стандартно. Убрать шаблоны из прав доступа, использовать сильные пароли, закрыть доступ из внешнего мира, ну и следить, что происходит.
- "Tuning your MySQL server" - вопросы базовой настройки сервера MySQL: ограничение числа подключений, включение кэша запросов, логирование медленных запросов, пр.
- "Mysql Server Optimization for DBA" - вопросы оптимизации MySQL в плане увеличения производительности.
Кластеры, репликация данных
Утилиты
- sqlupdate GPL - утилита для сравнения описания таблиц в файле создания базы и структуры таблиц в существующей базе. По результатам сравнения может генерировать скрипт для миграции таблиц на новую структуру данных.
- phpMiniAdmin GPL PHP - компактная замена PhpMyAdmin.
- Adminer Apache License PHP - скрипт для работы с базами MySQL, альтернатива phpMySQL.
- WizMySQLAdmin GPL PHP - скрипт для работы с базами MySQL, отличается простотой установки (один файл). Требует внешних средств авторизации пользователей.
- MySQL Proxy C GPL - прокси-сервер запросов MySQL, для организации балансировки нагрузки, фильтрации запросов, изменения их, и т.п.
- Data Recovery Toolkit for InnoDB GPL - утилиты для восстановления баз InnoDB.
- External Language Stored Procedures for MySQL GPL - патч к MySQL 6.0 для добавления возможности использования в качестве языка хранимых процедур C, Perl, Java, др.
Резервное копирование
Дата создания: 2006-05-24 12:56:31 (Фетисов Н. А. (naf))
Последнее изменение: 2011-01-12 02:54:31 (Фетисов Н. А. (naf))
Владелец: Фетисов Н. А. (naf)
Версия: 41 Все версии