2. Содержание
Базы данных, часто используемые при Web разработке
Установка MySQL в ОС Linux
Установка MySQL в ОС Windows
Настройка MySQL
Взаимодействие с сервером MySQL через командную строку
◦ Приложения MySQL
◦ Типовые сценарии
3. Базы данных, часто используемые при
Web разработке
Название тип Лицензия Версия Дата выпуска Ссылка
SQLite SQL Free 3.22.0 2018-01-22 https://www.sqlite.org
MySQL SQL GPL /
proprietary
5.7.21 2018-01-15 https://www.mysql.com
MariaDB SQL GPL 10.2.13 2018-02-13 https://mariadb.org
PostgreSQL SQL Free 10.2 2018-02-08 https://www.postgresql.org
MS SQL SQL Proprietary 2017 2017-10-02 http://www.microsoft.com/sqlserver/
Oracle DB SQL proprietary 12.2.0.1 2017-03-01 http://oracle.com/database
MongoDB NoSQL GPL /
Apache
3.6.3 2018-02-23 https://www.mongodb.com/
RethinkDB NoSQL Apache 2.3.6 2017-07-17 https://rethinkdb.com
4. Установка MySQL в ОС Linux
Процедура установки типична для любого приложения OS Linux
◦ apt-get update
◦ apt-get upgrade
◦ apt-get install mysql-server
◦ apt-get install mysql-client
После установки сервера БД необходимо сменить пароль администратора
(для версии > 5.7)
◦ mysql -u root
◦ UPDATE mysql.user SET authentication_string=PASSWORD('<новый пароль>'), plugin='mysql_native_password' WHERE
User='root' AND Host='localhost';
◦ FLUSH PRIVILEGES;
6. Установка MySQL в ОС Windows
Скачать инсталлятор с официального сайта.
Запустить.
Выбрать нужные компоненты и установить
пароль администратора.
Выпить чашечку кофе…
… еще выпить кофе.
Установщик MySQL может потребовать
наличия Microsoft Framework .Net!
7. Взаимодействие с сервером MySQL:
Приложения MySQL
mysqld – сервер (демон) MySQL.
mysql – простой клиент SQL, поддерживающий интерактивный и автономный режимы работы.
С большинством приложений MySQL можно взаимодействовать через этого клиента.
mysqladmin – приложение для выполнения операций администратора БД (создание баз
данных, управление пользователями и правами доступа).
mysqlcheck / myisamchk – приложения для проверки целостности и исправления ошибок баз
данных. Mysqlcheck используется при запущенном сервере, myisamchk – при остановленном
сервере.
mysqldump – вывод базы данных в формате SQL. Часто используется для создания резервных
копий.
mysqlimport – приложение для импорта данных из текстовых файлов в соответствующие базы
данных / таблицы.
8. Настройка MySQL
Конфигурационный файл MySQL эквивалентен ключам, с которыми запускаются
приложения.
[group] – объявление секции параметров, group это имя приложения или группы к
которым относятся эти параметры.
key – эквивалентно записи --key в командной строке.
key=value – эквивалентно записи --key=value в командной строке. В конфигурационном
файле ключ, знак равенства и значение можно отделять любым количеством пробелов.
# или ; - начало строки комментария.
9. Настройка MySQL (пример)
[mysqld]
# указание пути к базе данных
datadir=/usr/local/mysql/var
# MySQL по умолчанию работает по порту 3306
port=3306
# Способ представления данных. Более подробно SHOW ENGINES;
default_storage_engine=InnoDB
# журнал сообщений об ошибках
log_error=/var/tmp/mysql_error.log
# журнал общего назначения и медленных запросов
log_output=/var/tmp/mysql_general.log
# разрешение подключения с указанного адреса (0.0.0.0 – с любого)
bind_address=127.0.0.1
character_set_server = utf8
collation_server=utf8_general_ci
10. Настройка MySQL (пример)
[client]
# максимально допустимый размер пакета
max_allowed_packet = 8M
default_character_set=utf8
[mysql]
# максимально допустимый размер пакета
max_allowed_packet = 16M
default_character_set=utf8
11. Взаимодействие с сервером MySQL:
Типовые сценарии
; восстановление пароля
# service mysqld stop
# mysqld_safe --skip-grant-tables &
# mysql
# mysql> UPDATE mysql.user SET authentication_string=PASSWORD('<новый пароль>'),
plugin='mysql_native_password' WHERE User='root' AND Host='localhost';
# mysql> FLUSH PRIVILEGES;
# mysql> q
# service mysqld start
12. Взаимодействие с сервером MySQL:
Типовые сценарии
Создание резервной копии базы данных:
◦ mysqldump -u <user> -p <database> > dump.sql
◦ mysqldump -u <user> -p <database> | gzip > dump.sql.gz
Создание копии структуры базы данных:
◦ mysqldump --no-data -u <user> -p <database> > dump.sql
Создание базы данных:
◦ mysqladmin -u <user> -p create <database_name>
Восстановление базы данных из копии:
◦ mysql -u <user> -p <database> < dump.sql
Восстановление базы данных в интерактивном режиме:
◦ mysql> use <database>;
mysql> source <database>.sql
13. Взаимодействие с сервером MySQL:
Типовые сценарии
Список пользователей базы данных:
◦ mysql> SELECT User,Host FROM mysql.user;
Права пользователя root:
◦ mysql> SHOW GRANTS FOR root@localhost;
Установка пароля root:
◦ mysqladmin -uroot password <password>
Список баз данных:
◦ mysql> SHOW DATABASES;
Проверка базы данных на ошибки
◦ mysqlcheck -p <dbname>
Восстановление и оптимизация всех баз данных:
◦ mysqlcheck -Aor -p