MySql
Установка
MariaDB 10:
$ apt-get install libmariadbclient18 libmysqlclient18 mariadb-client mariadb-client-10.0 mariadb-client-core-10.0 mariadb-common mariadb-server
Percona 5.6:
$ install percona-server-common-5.6 percona-server-server percona-server-client
Инициализация
dpkg-reconfigure mysql-server-5.1 - установка root пароля mysql_upgrade -u root -p --force - ремонт баз данных mysqlcheck -uroot -p --auto-repair --check --optimize --all-databases - ремонт баз данных mysql_install_db - создание mysql database mysql_install_db --rpm --user=mysql mysql_install_db --defaults-file=/etc/mysql/my.cnf mysql_install_db --no-defaults --basedir=/usr --datadir=/var/lib/mysql mysql_install_db --defaults-file=/etc/mysql/my.cnf --force --basedir=/usr --datadir=/var/lib/mysql --user=mysql
Настройка и оптимизация
Dump
mysqldump -u[uname] -p[pass] > mysql.sql mysqldump -u[uname] -p[pass] [dbname] | gzip -9 > backupfile.sql.gz mysqldump --hex-blob -A > all_databases.sql mysqldump --all-databases -u[uname] -p[pass] > dump.sql mysqldump --host=localhost --user=root --password=password --opt --skip-dump-date --skip-extended-insert --database [table-name] > /tmp/mydatabase.sql
Утилиты
- Система резервного копирования и восстановления данных для MySql - Архивирование БД (Ориентировался на Debian архитектуру)
Restore
mysql -u[uname] -p[pass] database_name < file_name.sql gunzip -c /path/backup.Sql.Gz | mysql -h -u[uname] -p[pass] gunzip < [backupfile.sql.gz] | mysql -u [uname] -p[pass] [dbname] /usr/bin/gunzip < database.gz database.sql mysql -u[uname] -p[pass] username_dbname < database.sql mysql -u[user] -p database < database.sql mysql>source /path/to/database.sql
Утилиты
- Система резервного копирования и восстановления данных для MySql - Архивирование БД (Ориентировался на Debian архитектуру)
SQL
SHOWDATABASES; SHOWTABLES; CREATEDATABASE rxmeditrend; USE rxmeditrend; SELECTUSER, Host FROM mysql.user; # List ALL the users IN the system CREATEUSER'username'IDENTIFIEDBY'password'; GRANTALLON rxmeditrend.*TO'username'; SHOW GRANTS FOR'username'@'host'; SET PASSWORD FOR'username'@'host'= PASSWORD('password'); FLUSH PRIVILEGES; # FLUSH privileges after manually manipulating the USERTABLE SHOWTABLESTATUS;
MyISAM
- tbl_name.frm: Table definition
- tbl_name.MYD: Table data
- tbl_name.MYI: Table indexes
CHECK TABLE tbl_name QUICK; REPAIR TABLE tbl_name EXTENDED;
InnoDB
- ibdata1: By default all data and indexes for all tables/databases is stored in a single, shared file: ibdata1. idbata1 does not shrink. If rows are deleted, space will be reclaimed by new rows, but the file will only grow in size.
- ib_logfile0 and ib_logfile1: Redo log files to recover lost data if MySQL is not shutdown properly.
- tablename.frm: Each table has a small *.frm file in the database-specific directory which stores the table definition.
Компаненты / Настройка / Клиенты
- Система резервного копирования и восстановления данных для MySql - Архивирование БД (Ориентировался на Debian архитектуру)
- https://www.adminer.org/ (1 файл)
- http://www.sequelpro.com/ (MacOS)
Ссылки
Движки
Работа MySQL
- deadlock - Взаимная блокировка
- toggle для mysql— С логическими операциями у MySQL всё в полном порядке.
- MySQL, сложение и NULL— см. COALESCE.
Миграции
Обслуживание MySql
- Система резервного копирования и восстановления данных для MySql - Архивирование БД (Ориентировался на Debian архитектуру)
Кодировка
- character_set_client - кодировка, в которой данные будут поступать от клиента
- character_set_connection - кодировка по умолчанию для всего, что в рамках соединения не имеет кодировки
- character_set_database - кодировка по умолчанию для баз
- character_set_filesystem - кодировка для работы с файловой системой (LOAD DATA INFILE, SELECT ... INTO OUTFILE, и т.д.)
- character_set_results - кодировка, в которой будет выбран результат
- character_set_server - кодировка, в которой работает сервер
- character_set_system - кодировка, в которой задаются идентификаторы MySQL, всегда UTF8
- character_sets_dir - папка с кодировками