1.操作环境编辑本段
1.数据库版本5.7.19;
2.Linux版本Centos7.3
2.MySQL启动、连接、关闭相应操作编辑本段
前提:Linux操作系统中已经安装了MySQL本机环境:my.cnf文件使用的目录是 /tmp/my.cnf;数据库存放的目录是/databasemysql数据库启动
# mysqld --defaults-file='/tmp/my.cnf' --datadir='/database/' --user=mysql &
其中--defaults-file='/tmp/my.cnf' 指定启动数据库的配置文件 --datadir指定数据库目录 --user 指定用户 最后加了个& 是让其 在后台执行。
MySQL连接
mysql连接有两种方式一种是socket模式一种是tcp/ip模式socket模式:MySQL没有指定参数时默认使用socket模式登陆 命令:mysql -uroot -p --socket=/database/mysql.socktcp/ip模式:MySQL指定参数-h会使用tcp/ip模式登陆
命令: mysql -uroot -p -h127.0.0.1 --port=3307
关闭MySQL进程
mysqladmin -uroot -p --socket=/database/mysql.sock shutdown3.备份方式编辑本段
dump文件备份
题外话:Ctrl+R在Linux中是快速搜索到之前敲过的命令在配置文件备份之前先查看mysql服务是否正在运行,如果没有正在运行的服务应该启动服务。
备份dump文件有几种备份的方式
1.常规备份不含有创建数据库的语句
mysqldump -uroot -p --routines --socket="/database/mysql.sock" virtualexperiment >vir1.sql
2.带有--databases参数的备份(是创建了个数据库)
mysqldump -uroot -p --routines --socket="/database/mysql.sock" --databases virtualexperiment >vir2.sql
3.带有--add-drop-database --databases的备份(试用于测试环境,可以快速将数据库回复到测试之前的数据库)
mysqldump -uroot -p --routines --socket="/database/mysql.sock" --add-drop-database --databases virtualexperiment >vir3.sql
4.其他参数 MySQLdump其他参数参照官方文档
5.模拟dump文件备份
先删掉mysql> drop database virtualexperiment; 数据库
然后导入自带创建库的vir3.sql
[root@localhost database]# mysql -uroot -p --socket=/database/mysql.sock databases < vir3.sql
binlog备份(增量备份 和dump搭配使用)
配置binlog参数在my.cnf中 :log_bin=/database/binlog 指定binlog的路径 server-id=1 这个id可以任意给
binlog的binlog_format=statement和row 默认是row。binlog日志中记录的是改变的数据像insert和update操作。而statement和row格式出来的binlog区别:statement是人可以看懂的语句。row不是人看的。哈哈。
查看某个binlog:mysqlbinlog binlog.000002
以下拿binlog.000002举例
binlog日志可以选取某个时间段或者起始位置和终止位置来进行数据恢复 详细参数
在将处理过的binlog导回相应的数据库mysql -uroot -p --socket=/database/mysql.sock virtualexperiment < binlog002.sql
binlog重新生成的时机:1. max_binlog_cache_size 达到上限
2.重启mysql
my.cnf参数编辑本段
# For advice on how to change settings please see# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html[mysqld]## Remove leading # and set to the amount of RAM for the most important data# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.# innodb_buffer_pool_size = 128M## Remove leading # to turn on a very important data integrity option: logging# changes to the binary log between backups.# log_bin## Remove leading # to set options mainly useful for reporting servers.# The server defaults are faster for transactions and fast SELECTs.# Adjust sizes as needed, experiment to find the optimal values.# join_buffer_size = 128M# sort_buffer_size = 2M# read_rnd_buffer_size = 2Mskip-host-cacheskip-name-resolvedatadir=/databasesocket=/database/mysql.socksecure-file-priv=/database/user=mysqlport=3307log_bin=/database/binlogserver-id=1#binlog_format=statement# Disabling symbolic-links is recommended to prevent assorted security riskssymbolic-links=0
log-error=/database/mysqld.logpid-file=/database/mysqld.pid
##add by ybinnodb_buffer_pool_size=256MB