MySQL数据库备份之逻辑备份

作者: 云计算机网 分类: 云安全 发布时间: 2017-05-19 17:22

一、MySQL数据库备份之逻辑备份

1.命令简介:

# mysqldump -h 服务器 -u用户名 -p密码 数据库名 gt; 备份文件.sql
1)关于数据库名:
  -A, --all-databases   所有库
  school        数据库名
  school stu_info t1 school 数据库的表stu_info、t1
  -B, --databases bbs test mysql 多个数据库
2)关于其它参数说明:
  --single-transaction #InnoDB 一致性 服务可用性
  -x, --lock-all-tables #MyISAM 一致性 服务可用性
  -E, --events #备份事件调度器代码
  --opt #同时启动各种高级选项
  -R, --routines #备份存储过程和存储函数
  -F, --flush-logs #备份之前刷新日志
  --triggers #备份触发器
  --master-data=1|2 #该选项将会记录binlog的日志位置与文件名并追加到文件中

2、操作过程:

1)创建库表:

mysqlgt; create database school;
Query OK, 1 row affected (0.01 sec)
mysqlgt; show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| school |
| sys |
+--------------------+
5 rows in set (0.00 sec)

mysqlgt; use school;
Database changed

mysqlgt; select * from school.t1;
Empty set (0.00 sec)

mysqlgt; create table t2 (id int);
Query OK, 0 rows affected (0.02 sec)

mysqlgt; insert into t1 values (1),(2);
Query OK, 2 rows affected (0.03 sec)
Records: 2 Duplicates: 0 Warnings: 0

mysqlgt; select * from t1;
+------+
| id |
+------+
| 1 |
| 2 |
+------+
2 rows in set (0.00 sec)

mysqlgt;

2)逻辑备份:

[root@localhost ~]# mysqldump -uroot -p'Yanglt123.' --all-databases \
gt; --single-transaction \
gt; --routines \
gt; --triggers \
gt; --master-data=1 \
gt; --flush-logs gt; /tmp/`date +%F`-mysql-all.sql`

mysqldump: [Warning] Using a password on the command line interface can be insecure. #此提示是密码明文显示的愿意
[root@localhost tmp]#

注意事项:

--master-data=1 #该选项将会记录binlog的日志位置与文件名并追加到文件中
参数为1和2的时候,都是把position日志截断,如果为2的话第22行为注释状态,为1的时候没有注释,建议选择1:

[root@localhost tmp]# vim 2018-09-19-mysql-all.sql 可以
19 -- Position to start replication or point-in-time recovery from
20 --
21
22 CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000003', MASTER_LOG_POS=154;
23
24 --
:set nu

二、数据库恢复

1. 停止数据库   【systemtl stop mysqld 】
2. 清理环境    【rm -rf /var/lib/mysql/*;】
3. 启动数据库   【初始密码 /var/log/mysqld.log】

  • MySQL5.7.17在cmake的时候报错如下:

    CMake Error at cmake/boost.cmake:81 (MESSAGE):
    You can download it with -DDOWNLOAD_BOOST=1 -DWITH_BOOST=
    This CMake script will look for boost in . If it is not there,
    it will download and unpack it (in that directory) for you.

    If you are inside a firewall, you may need to use an http proxy:
    export http_proxy=http://example.com:80
    Call Stack (most recent call first):
    cmake/boost.cmake:238 (COULD_NOT_FIND_BOOST)
    CMakeLists.txt:455 (INCLUDE)
    -- Configuring incomplete, errors occurred!
    See also "/root/mysqlsoftware/mysql-5.7.17/CMakeFiles/CMakeOutput.log".
    See also "/root/mysqlsoftware/mysql-5.7.17/CMakeFiles/CMakeError.log".

    解决办法是:

    1.在/usr/local下创建一个名为boost的文件夹
    mkdir -p /usr/local/boost

    2.进入这个新创建的文件夹然后下载boost
    wget http://www.sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz

    3.解压
    tar -xvzf boost_1_59_0.tar.gz

    4.继续cmake,添加上红色部分

    cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
    -DDEFAULT_CHARSET=utf8 \
    -DDEFAULT_COLLATION=utf8_general_ci \
    -DENABLED_LOCAL_INFILE=ON \
    -DWITH_INNOBASE_STORAGE_ENGINE=1 \
    -DWITH_FEDERATED_STORAGE_ENGINE=1 \
    -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
    -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
    -DWITH_PARTITION_STORAGE_ENGINE=1 \
    -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
    -DCOMPILATION_COMMENT='Mysqlma' \
    -DWITH_READLINE=ON \

  • 相关推荐:

  • MySQL5.7.19执行cmake时报错
  • MySQL中索引优缺点、分类
  • Oracle中print
  • Linux下MySQLshell脚本执行错
  • 关系型数据库中常用的表
  • MySQL表结构变更,不可不
  • MySQL存储引擎MyISAM介绍
  • MySQL索引的设计和使用
  • 用简单程序协助MySQL实现
  • MySQL表查询操作实例
  • 网站内容禁止违规转载,转载授权联系中国云计算网