вторник, 23 февраля 2010 г.

Шпаргалка по mysql. Взяд у ZlO

Взяд здесь

Работа с базами


Создаем базу
CREATE DATABASE maps;
Убиваем базу
DROP DATABASE maps;
Смотрим базы
SHOW DATABASES;

Работа с пользователя

Создаем локального юзера
CREATE USER 'user'@'localhost' IDENTIFIED BY 'PASSWORD';
Создаем сетевого юзера с ограниченными правами
GRANT SELECT, RELOAD, LOCK TABLES ON *.* TO 'user'@'%' IDENTIFIED BY 'PASSWORD';
Даем права юзеру на базу
GRANT ALL on base.* to user@"%";
Забираем права у юзера на базу
REVOKE SELECT,INSERT,UPDATE,DELETE,CREATE,DROP on base.* from user@'%';
Создаем суперюзера
GRANT ALL on *.* to user@host with GRANT OPTION;
Сбрасываем привилегии
flush privileges;

Работа с дампами

Дампим в файл без таблицы

mysqldump forum --ignore_table=forum.w3t_Posts_archive > /var/tmp/forum_base.sql
Дампим и заливаем сразу в другую базу без промежуточного файлы
mysqldump forum --ignore_table=forum.w3t_Posts_archive | mysql new_forum
Дампим базу без данных из одной таблицы
mysqldump forum --no-data w3t_Posts_archive > /var/tmp/forum_tables.sql
Дампим по сети
mysqldump -u user -p -h172.16.10.1 base > /var/tmp/base.sql
Дампим по сети одну таблицу
mysqldump -u user -p -h172.16.10.1 base --tables single_table > /var/tmp/base.sql
Дампим по сети и заливаем сразу в свою базу
mysqldump -u user -p -h172.16.10.1 base | mysql newbase
Дампим и заливам дамп по сети на другую машину в файл
mysqldump -u user -p base | gzip -c -1 | ssh user@hostname cat ">" /tmp/base.sql.gz
Восстанавливаем базу из bin-logs с определенного времени ( времени последнего дампа) до необходимого
mysqlbinlog --start-datetime='2008-12-13 22:31:42' --stop-datetime='2008-12-14 02:00:00' -d forum mysql-bin.* > forum2.log.sql

Получаем дамп который нужно потом раскатать поверх.

Репликация
Посмотреть позицию мастера
SHOW MASTER STATUS\G
Посмотреть состояния слэйва
SHOW SLAVE STATUS\G
Пропустить ошибку при репликации
set GLOBAL SQL_SLAVE_SKIP_COUNTER = 1;
Лочим таблицы
FLUSH TABLES WITH READ LOCK;
Указываем мастера
CHANGE master TO
master_host = '172.22.100.1',
master_user = 'repl',
master_password = 'password',
master_log_file = 'log-bin.000093',
master_log_pos = 1369;

Талбицы
Список таблиц в базе
show tables;
Имена столбцов в таблице
explain table;
Очистить данные в таблице
truncate table;

Разное
Отключаем bin-log на время нашего сеанса
set sql_log_bin=0;
Посмотреть InnoDB статут
show innodb status\G
Посмотреть параметры mysql сервера
show GLOBAL variables;
Установить параметр mysql сервера
set GLOBAL key_buffer_size=127999;
Посмотреть процессы mysql сервера
show processlist;
Убить процесс по ID
kill ID;

Комментариев нет:

Отправить комментарий