MySQL数据备份与还原
https://dev.mysql.com/doc/refman/5.7/en/flush.html#flush-tables-with-read-lock
一、数据备份
1、使用mysqldump命令备份
https://dev.mysql.com/doc/refman/5.7/en/mysqldump-sql-format.html
mysqldump命令将数据库中的数据备份成一个文本文件。表的结构和表中的数据将存储在生成的文本文件中。
https://dev.mysql.com/doc/refman/5.7/en/flush.html#flush-tables-with-read-lock
https://dev.mysql.com/doc/refman/5.7/en/mysqldump-sql-format.html
mysqldump命令将数据库中的数据备份成一个文本文件。表的结构和表中的数据将存储在生成的文本文件中。
前段时间写过一篇关于mysql分表的的文章,下面来说一下什么是数据库分区,以mysql为例。mysql数据库中的数据是以文件的形势存在磁盘上的,默认放在/mysql/data下面(可以通过my.cnf中的datadir来查看),一张表主要对应着三个文件,一个是frm存放表结构的,一个是myd存放表数据的,一个是myi存表索引的。如果一张表的数据量太大的话,那么myd,myi就会变的很大,查找数据就会变的很慢,这个时候我们可以利用mysql的分区功能,在物理上将这一张表对应的三个文件,分割成许多个小块,这样呢,我们查找一条数据时,就不用全部查找了,只要知道这条数据在哪一块,然后在那一块找就行了。如果表的数据太大,可能一个磁盘放不下,这个时候,我们可以把数据分配到不同的磁盘里面去。
https://dev.mysql.com/doc/refman/5.7/en/point-in-time-recovery.html
mysql中bin-log在mysql默认状态下是没有打开的,我们要先打开mysql 开启bin-log功能,然后再通过备份的bin-log进行数据库恢复了。
create table t2 like t1;
insert into t2 select * from t1;
主键索引、唯一索引、普通索引、全文索引(自带的对中文支持不好,全文索引详见其他文章)
比较简单,我就不写了。