MySQL管理常用命令
2016-06-06 12:20
686 查看
1. 新建slave设置复制坐标
a.) 5.5之前以及5.6未开启GTID复制的场合:
CHANGE MASTER TO MASTER_HOST='xxxx',
MASTER_PORT=3306,
MASTER_USER='xxxx',
MASTER_PASSWORD='xxxx',
MASTER_LOG_FILE='xxxx',
MASTER_LOG_POS=xxxx;
b. ) 5.6开启GTID复制的场合:
CHANGE MASTER TO MASTER_HOST='xxxx',
MASTER_PORT=3306,
MASTER_USER='xxxx',
MASTER_PASSWORD='xxxx',
MASTER_AUTO_POSITION=1;
2. 跟踪查看丛库复制延迟
while true ;do mysql -uuser -ppass -e "show slave status \G" | grep "Master_Log_File: \| Read_Master_Log_Pos: \| Relay_Master_Log_File: \| Exec_Master_Log_Pos: \| Seconds_Behind_Master:"; echo; sleep 1; done;
3. 跟踪查看MySQL事务执行过程中修改了多少行数据,对插入,更新,删除有效,其它场景未验证。
while true ;do mysql -uuser -ppass -e "select * from information_schema.INNODB_TRX where trx_mysql_thread_id=7959619 \G" | grep "trx_rows_modified:"; echo; sleep 1; done;
4.使用xtrabackup/innobackupex备份数据库
参考链接:http://blog.csdn.net/u010027484/article/details/51488552
a.)全量备份
#使用tar流备份[b]全部[b]db schema[/b][/b]
/opt/viewer/percona-xtrabackup-2.3.3-Linux-x86_64/bin/innobackupex --defaults-file=$MY_CNF --tmpdir=$TMP_DIR --ibbackup=/opt/viewer/percona-xtrabackup-2.3.3-Linux-x86_64/bin/xtrabackup --user=user --password=password --slave-info --stream tar $DATA_DIR
| ssh $REMOTE_HOST "cat - > /vobiledata/tmp/${LOCAL_HOST}.mysqldata.tar.lzma"
#使用xbstream流备份全部[b]db schema[/b]
./innobackupex --defaults-file=/etc/mysql/my.cnf --user=xxx --password=xxx--stream=xbstream
/vobiledata/mysqldata/ |ssh root@$REMOTE_HOST
"cd /root/percona-xtrabackup-2.3.3-Linux-x86_64/bin; cat - |
./xbstream -x -C /vobiledata/mysqldata/" > innobackupex.log 2>&1
#[b]使用xbstream流备份部分db schema[/b]
./innobackupex --defaults-file=/etc/mysql/my.cnf --user=xxx --password=xxx --databases="db1 db2" --stream=xbstream /vobiledata/mysqldata/ |ssh root@$REMOTE_HOST
"cd /root/percona-xtrabackup-2.3.3-Linux-x86_64/bin; cat - | ./xbstream -x -C /vobiledata/mysqldata/" > innobackupex.log 2>&1
-- 注意 --databases参数值要用引号括起来
b.)增量备份
#
5.使用xtrabackup/innobackupex重建数据库
#解压数据库备份文件
tar -xi --lzma -f ${db_data_package_file}
#还原数据库
innobackupex-1.5.1 --user=root --apply-log --defaults-file={mysql_conf_file} --ibbackup=/usr/bin/xtrabackup_51 --use-memory=2046M ${mysql_data_dir}
#将数据文件拷贝到数据目录,如果解压的时候文件已经在数据库目录下,则可省略此步骤
#innobackupex-1.5.1 --user=root --copy-back --defaults-file=${mysql_conf_file} --use-memory=2046M --no-lock ${mysql_data_dir}
6.忘记mysql登陆密码了怎么办,执行下面的命令,只需简单三步就可绕过mysql 授权表启动,然后匿名登陆到mysql取回密码,前提是你得有重启mysql服务器的权限。
/etc/init.d/mysql stop;
/usr/local/mysql/bin/mysqld --skip-grant-tables;
mysql;
7. 查看sql语句锁信息
select * from processlist pl, innodb_trx trx, INNODB_LOCKS lk where lk.lock_trx_id = trx.trx_id and trx.trx_mysql_thread_id = pl.id limit 1 \G
select a.trx_mysql_thread_id 'brocking process', a.trx_state, c.trx_mysql_thread_id 'brocked process', c.trx_state, c.trx_query 'brocked sql' from INNODB_TRX a, INNODB_LOCK_WAITS b, INNODB_TRX c where a.trx_id = b.blocking_trx_id and c.trx_id = b.requesting_trx_id;
a.) 5.5之前以及5.6未开启GTID复制的场合:
CHANGE MASTER TO MASTER_HOST='xxxx',
MASTER_PORT=3306,
MASTER_USER='xxxx',
MASTER_PASSWORD='xxxx',
MASTER_LOG_FILE='xxxx',
MASTER_LOG_POS=xxxx;
b. ) 5.6开启GTID复制的场合:
CHANGE MASTER TO MASTER_HOST='xxxx',
MASTER_PORT=3306,
MASTER_USER='xxxx',
MASTER_PASSWORD='xxxx',
MASTER_AUTO_POSITION=1;
2. 跟踪查看丛库复制延迟
while true ;do mysql -uuser -ppass -e "show slave status \G" | grep "Master_Log_File: \| Read_Master_Log_Pos: \| Relay_Master_Log_File: \| Exec_Master_Log_Pos: \| Seconds_Behind_Master:"; echo; sleep 1; done;
3. 跟踪查看MySQL事务执行过程中修改了多少行数据,对插入,更新,删除有效,其它场景未验证。
while true ;do mysql -uuser -ppass -e "select * from information_schema.INNODB_TRX where trx_mysql_thread_id=7959619 \G" | grep "trx_rows_modified:"; echo; sleep 1; done;
4.使用xtrabackup/innobackupex备份数据库
参考链接:http://blog.csdn.net/u010027484/article/details/51488552
a.)全量备份
#使用tar流备份[b]全部[b]db schema[/b][/b]
/opt/viewer/percona-xtrabackup-2.3.3-Linux-x86_64/bin/innobackupex --defaults-file=$MY_CNF --tmpdir=$TMP_DIR --ibbackup=/opt/viewer/percona-xtrabackup-2.3.3-Linux-x86_64/bin/xtrabackup --user=user --password=password --slave-info --stream tar $DATA_DIR
| ssh $REMOTE_HOST "cat - > /vobiledata/tmp/${LOCAL_HOST}.mysqldata.tar.lzma"
#使用xbstream流备份全部[b]db schema[/b]
./innobackupex --defaults-file=/etc/mysql/my.cnf --user=xxx --password=xxx--stream=xbstream
/vobiledata/mysqldata/ |ssh root@$REMOTE_HOST
"cd /root/percona-xtrabackup-2.3.3-Linux-x86_64/bin; cat - |
./xbstream -x -C /vobiledata/mysqldata/" > innobackupex.log 2>&1
#[b]使用xbstream流备份部分db schema[/b]
./innobackupex --defaults-file=/etc/mysql/my.cnf --user=xxx --password=xxx --databases="db1 db2" --stream=xbstream /vobiledata/mysqldata/ |ssh root@$REMOTE_HOST
"cd /root/percona-xtrabackup-2.3.3-Linux-x86_64/bin; cat - | ./xbstream -x -C /vobiledata/mysqldata/" > innobackupex.log 2>&1
-- 注意 --databases参数值要用引号括起来
b.)增量备份
#
5.使用xtrabackup/innobackupex重建数据库
#解压数据库备份文件
tar -xi --lzma -f ${db_data_package_file}
#还原数据库
innobackupex-1.5.1 --user=root --apply-log --defaults-file={mysql_conf_file} --ibbackup=/usr/bin/xtrabackup_51 --use-memory=2046M ${mysql_data_dir}
#将数据文件拷贝到数据目录,如果解压的时候文件已经在数据库目录下,则可省略此步骤
#innobackupex-1.5.1 --user=root --copy-back --defaults-file=${mysql_conf_file} --use-memory=2046M --no-lock ${mysql_data_dir}
6.忘记mysql登陆密码了怎么办,执行下面的命令,只需简单三步就可绕过mysql 授权表启动,然后匿名登陆到mysql取回密码,前提是你得有重启mysql服务器的权限。
/etc/init.d/mysql stop;
/usr/local/mysql/bin/mysqld --skip-grant-tables;
mysql;
7. 查看sql语句锁信息
select * from processlist pl, innodb_trx trx, INNODB_LOCKS lk where lk.lock_trx_id = trx.trx_id and trx.trx_mysql_thread_id = pl.id limit 1 \G
select a.trx_mysql_thread_id 'brocking process', a.trx_state, c.trx_mysql_thread_id 'brocked process', c.trx_state, c.trx_query 'brocked sql' from INNODB_TRX a, INNODB_LOCK_WAITS b, INNODB_TRX c where a.trx_id = b.blocking_trx_id and c.trx_id = b.requesting_trx_id;
相关文章推荐
- mysql启动脚本详解
- 'mysql' 不是内部或外部命令,也不是可运行的程序或批处理文件的解决办法
- MySQL数据库为已有表主键设置自增且初始值为1000
- 批处理命令 BAT备份MySQL数据库
- jdbc+mysql
- 批处理命令 BAT备份MySQL数据库
- Mysql 拿指定经纬度与数据库多条经纬度进行距离计算 (转)
- MYSQL中IFNULL的使用 以及统计2张表的字段和
- mysql 下 计算 两点 经纬度 之间的距离
- mysql对表是操作以及函数的简介
- Mysql 开启数据的远程访问权限
- MySql常用操作
- MySQL多表查询
- Windows安装MySQL解压版
- mysql初级
- mysql修改密码
- MYSQL慢查询日志
- mysql 中 时间和日期函数
- Mysql存储过程
- MYSQL数据库转化成H2数据库