Шпаргалка по MYSQL
На заметку пара-тройка нужных команд:
---размер базы--- SELECT table_schema "database_name", sum( data_length + index_length )/1024/1024 "Data Base Size in MB" FROM information_schema.TABLES GROUP BY table_schema; ---тип движка таблицы--- select engine from information_schema.tables where table_name='имя_таблицы';
---последний столбец--- select * from имя_таблицы ORDER BY имя_столбца DESC LIMIT 1\G; ---структура таблицы--- show columns from имя_таблицы; ---создание реплики--- stop slave; FLUSH TABLES WITH READ LOCK; SET GLOBAL read_only = ON; GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO имя_пользователя@адрес_сервера IDENTIFIED BY "оченьсложныйпароль"; - на мастере CHANGE MASTER TO MASTER_HOST = 'адрес_сервера_мастера', MASTER_USER = 'имя_пользователя', MASTER_PASSWORD = "оченьсложныйпароль", MASTER_CONNECT_RETRY = 5000, MASTER_LOG_FILE = "название_файло_бин-лога", MASTER_LOG_POS = позиция_в_бин-логе; - на реплике MASTER_LOG_FILE=relay_master_log_file и MASTER_LOG_POS=exec_master_log_pos - если с другой реплики но на одного мастера SET GLOBAL read_only = OFF; start slave; ---назначение всех прав/одновременное создание пользователя--- GRANT ALL PRIVILEGES ON имя_базы.имя_таблицы TO имя_пользователя@адрес_сервера IDENTIFIED BY "оченьсложныйпароль"; ---дамп базы--- mysqldump -u имя_пользователя -pоченьсложныйпароль --add-drop-table --add-locks -q -Q --disable-keys --extended-insert --default-character-set=cp1251 имя_базы имя_таблицы(если нужно) -r имя_файла.sql ---список юзеров--- SELECT USER from mysql.user; ---просмотр прав--- SHOW GRANTS FOR 'имя_пользователя'@'адрес_сервера'; ---проверка баз типа myisam--- myisamchk --force --fast --update-state --key_buffer_size=18G --sort_buffer_size=2000M --read_buffer_size=4M --write_buffer_size=4M /var/lib/mysql/*/*.MYI ---смена движка таблицы InnoDB --> MYISAM--- sudo find /var/lib/mysql/имя_базы -iname '*.ibd' -printf '%f\n' mysql> use имя_базы; mysql> ALTER TABLE имя_таблицы ENGINE = MYISAM; ---вывод таблиц списоком--- mysql -e 'SHOW TABLE STATUS FROM имя_базы' -s --skip-column-names | awk '{print $1 " " $7}' ---список процессов--- SHOW FULL PROCESSLIST; ---пропустить ошибку при репликации--- SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1; ---удалить столбец в таблице--- ALTER TABLE имя_таблицы DROP имя_столбца; ---сортировать по столбцу--- SELECT `имя_столбца` FROM `имя_таблицы` GROUP BY `имя_столбца`;