понедельник, 2 февраля 2015 г.

Памятка по mysql

То, чем изредка, но приходится пользоваться. Просто, чтобы не забыть.

shell: 
Основные опции mysql и mysqldump:

-u[пользователь]
-p[пароль]
-h[хост]
-P[порт]

Копирование базы (содержимого одной базы в другую базу):
mysqldump [OPTIONS] db_name_source | mysql [OPTIONS] db_name_dst
Бекап + gzip на лету:
mysqldump [OPTIONS] db_name | gzip > ./file.sql.gz
Восстановление из gzip:
 gzip -c -d ./file.sql.gz | mysql [OPTIONS] db_name
или
 gunzip < ./file.sql.gz | mysql [OPTIONS] db_name

sql:
Добавить текст к содержимому поля:
UPDATE table_name SET field_name=concat(field_name, '<text>');
Поиск и замена текста:
UPDATE table_name SET field_name = REPLACE(field_name, '<find>', '<replace>');
Выбрать определенное количество символов(в примере 100) из поля. Бывает полезно для составления превьюшек большого числа объемистых 'text' полей:
 SELECT LEFT (text,100) FROM table_name;
Другие строковые функции
 
Быстрый фикс для mysql slave(на свой страх и риск!):

mysql> stop slave;
Query OK, 0 rows affected (0.24 sec)

mysql> SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1;
Query OK, 0 rows affected (0.00 sec)

mysql> start slave;
Query OK, 0 rows affected (0.00 sec)

mysql> show slave status \G

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