[sql] view plain copy
mysqldump -uroot -p -S /tmp/mysql3306.sock --single-transaction --add-drop-database --master-data=1 --database tms,test >test_backup.sql
--single-transaction : 一致性备份,在备份开始前, 先执行START TRANSACTION命令,以此来获得备份的一致性,当前该参数只对INNODB存储引擎有效。当启用该参数并进行备份时, 确保没有其他任何的DDL语句执行,因为一致性读并不能隔离DDL语句。
--add-drop-database: 备份里会有创建删除数据库的命令, 要和-DATABASE一起使用。
--master-data:通过该参数产生的备份转存文件主要用来建立一个SLAVE REPLICATION。 当VALUE的值为1时,转存文件中记录CHANGE MASTER语句,当VALUE的值为2时,CHANGE MASTER语句被写成SQL注释。默认情况下, VALUE的值为空。
停止原从库的SLAVE复制:
[sql] view plain copy
mysql>stop slave
Query OK, 0 rows affected (0.00 sec)
mysql>reset slave all
Query OK, 0 rows affected (0.08 sec)
mysql>show slave status\G
Empty set (0.00 sec)
在从库进行SOURCE:
[sql] view plain copy
source /apps/test_backup.sql
待恢复完成后,可以根据备份文件里提供的BINLOG POSTION来启动REP:
[sql] view plain copy
mysql>CHANGE MASTER TO MASTER_HOST='192.168.0.93',MASTER_PORT=3306,MASTER_USER='replication',MASTER_PASSWORD='replication',MASTER_LOG_FILE='mysql-bin.000005',MASTER_LOG_POS=69295895
Query OK, 0 rows affected (0.00 sec)
mysql>flush privileges
Query OK, 0 rows affected (0.04 sec)
第一步,创建数据库表t_tree_info,命令如下:create table t_tree_info(
id int(8),
tno int(4),
tname varchar(20),
tdesc varchar(100)
)
第二步,向表里插入3条数据,插入后查看表记录,如下图所示:
第三步,创建数据库索引tree_name,命令如下:
create index tree_name on t_tree_info (tname(20))
如下图所示:
第四步,查看数据库表索引,利用show命令
show index from t_tree_info
如下图所示:
第五步,重建索引,利用repari命令
repair table t_tree_info quick
如下图所示:
第六步,索引创建好了,在不使用该索引时,可以删除
drop index tree_name on t_tree_info
如下图所示:
30G的数据要跑24小时,哈哈,建议如下的步骤进行:建表(不要主键);
插入数据;
重新建立索引和主键;
因为在有索引的情况下插入数据时,插入一条就要重新建立索引一次,所以应该在没有任何索引的情况插入数据,然后建立索引就搞一次索引。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)