mysql 笔记2

来源:互联网 发布:淘宝网行车记录仪 编辑:程序博客网 时间:2024/06/05 02:51

十一,数据库导出

问题,同一时间导出数据库多有的表

逻辑备份,适用于少量的数据,速度慢,文件大,  在线备份

mysqldump  -u用户名 -p密码 -hIP地址 -P端口 数据库名 > /tmp/backup_full.sql 


mysqldump study -u root -p >study.sql

mysqldump   --single-transaction study  -u root -p >study.sql  innodb在一个事务中导出数据

>mysqldump --lock-tables study -u root -p > study4.sql   ; 一次锁定一个数据库的表,只能读取。 --lock-all-tables  锁定所有数据库的表

 --no-data  不导出数据       --no-create-info   不导出创建表的消息


增量备份

1.开启log_bin

2.flush tables with read lock; 

3.flush logs

4.unlock tables; 

mysqlbinlog  binlog文件名 | mysql -u用户名 -p密码 -hIP地址 -P端口 


恢复数据  source  数据文件路径


物理备份:适用于大量的数据

data文件夹下的数据库文件,日志文件。

“innodb_data_home_dir”和“innodb_data_file_path” 路径下的文件

mysqldump -u root -p --databases test mysql > D:\backup.sql

mysql 性能优化命令

explain  select * from t1;

explain partitions  select  * from  t1 where rq in(2017,2018)    分区;

explain extended select * from t1;
show warnings;

show create table t1;

show indexes from suoying;


show table status  like 't1';

show global status;
show session status;


show global variables;
show session variables;


索引

排序结果集上,建立索引。

B-  B+  R-  散列

hash 索引 不能用于范围查询,大量的hash相同时

聚集索引:主键,叶子节点存放的是一整条数据

非聚集索引:


straight_join  索引提示。

use(index)  

ignore index(a,b)

force index 强制索引

explain select * from t_user ignore index(name) where   name='234'


部分索引    index(name(20))  能够减少存取空间,遍历更快


内存配置

innodb_buffer_pool_size   134217728   

query_cache_size 


是以每个线程分配大小的

join_buffer_size

sort_buffer_size

read_buffer_size



show variables like 'innodb_buffer_pool_size';
show global status like 'innodb_buffer%';

show engine innodb status;


查询缓存

show global variables like 'query_cache_type';
show global variables like 'query_cache_size';

show global variables like 'query_cache%';


mysql 锁

行级锁   show status like 'innodb_row_lock%'; 

页锁

表锁


事务

acid 原子性,一致性,独立性,持久性

隔离级别  读取未提交,读取提交,可重复读,序列化。


global 

session  

用户变量

局部变量

变量范围?  开启事务?


一致性hash算法 水平分表


0 0
原创粉丝点击