User-Profile-Image
hankin
  • 5
  • centos7
  • docker
  • mysql
  • PostgreSQL
  • git/gitlab
  • ELK
  • python
    • python-Tornado
    • python-django
  • redis
  • nginx
  • kvm
  • proxmox
  • mongo
  • kubernetes
  • prometheus
  • GlusterFs
  • nfs
  • freeswitch
  • httpd
  • shell脚本
  • linux
  • fastdfs
  • nextcloud
  • openssl
  • openvpn
  • rabbitmq
  • sqlite
  • svn
  • java
  • ubuntu
  • vue2
  • wordpress
  • php
  • IOT物联网
  • 项目
  • 故障处理
  • 树莓派
  • 博客存档
  • 未分类
  • 杂项
  • #1742(无标题)
  • 新视野
  • 分类
    • 项目
    • 树莓派
    • 杂项
    • 未分类
    • 新视野
    • 故障处理
    • 博客存档
    • wordpress
    • vue2
    • ubuntu
    • svn
    • sqlite
    • shell脚本
    • redis
    • rabbitmq
    • python-django
    • python
    • proxmox
    • prometheus
    • PostgreSQL
    • php
    • openvpn
    • openssl
    • nginx
    • nfs
    • nextcloud
    • mysql
    • mongo
    • linux
    • kvm
    • kubernetes
    • java
    • IOT物联网
    • httpd
    • GlusterFs
    • git/gitlab
    • freeswitch
    • fastdfs
    • ELK
    • docker
    • centos7
  • 页面
    • #1742(无标题)
  • 友链
      请到[后台->主题设置->友情链接]中设置。
Help?

Please contact us on our email for need any support

Support
    首页   ›   mysql   ›   正文
mysql

mysql备份-导入

2022-10-28 23:33:36
766  0 0

mysql备份和导入
以mysql运行在192.168.2.199:3306,用户root 为例

使用mysqldump备份

安装mysql会默认安装mysqldump,手动安装:
yum -y install mysql-client

1备份所有库
#不推荐使用!!!会备份所有库,包括mysql自带的库,导入到其他实例的时候可能有问题.
#****** -h 192.168.2.199 -P 3306 -uroot -p -A > ./mybak.sql
# -A:备份所有库

#导入:
#mysql -u root -p <./mybak.sql
2备份多个库
mysqldump -h 192.168.2.199 -P 3306 -uroot -p --databases db1 db2 > ./mybak.sql
#db1、db2:库名

导入:
mysql -u root -p  <./mybak.sql
3备份单个库
mysqldump -h 192.168.2.199 -P 3306 -uroot -p db1 --databases dbt1 > ./mybak.sql
# db1:库名

导入:
mysql -u root -p  <./mybak.sql

# hot库必须先手动创建才能导入成功
4备份多个表
mysqldump -h 192.168.2.199 -P 3306 -uroot -p db1 --tables t1 t2 > ./mybak.sql
# db1:库名
#t1、t2:表名

导入:
mysql -u root -p -D hot <./mybak.sql
#-D 指定库名
# hot库必须先手动创建才能导入成功
5备份单个表
mysqldump -h 192.168.2.199 -P 3306 -uroot -p db1 --tables t1 > ./mybak.sql
# db1:库名
#t1:表名

导入:
mysql -u root -p -D hot <./mybak.sql
# hot库必须先手动创建才能导入成功

使用mysql备份

备份所有库
备份多个库
备份单个库
备份多个表
备份单个表

导入到数据库

导入前的优化设置
set sql_log_bin=0;
新建库,并且不需要生成 binlog 日志。
然后执行导入,这样速度也会加快。(如MySQL没开启binlog,则无需执行该语句)


set global sync_binlog = 200000;
sync_binlog =0,像操作系统刷其他文件的机制一样,MySQL不会同步到磁盘中去而是依赖操作系统来刷新binary log。
sync_binlog =N (N>0) ,MySQL 在每写 N次 二进制日志binary log时,会使用fdatasync()函数将它的写二进制日志binary log同步到磁盘中去


innodb_flush_log_at_trx_commit默认值为1,可设置为0、1、2
innodb_flush_log_at_trx_commit 设置为 0,log buffer将每秒一次地写入log file中,并且log file的flush(刷到磁盘)操作同时进行.该模式下,在事务提交的时候,不会主动触发写入磁盘的操作。
innodb_flush_log_at_trx_commit设置为 1,每次事务提交时MySQL都会把log buffer的数据写入log file,并且flush(刷到磁盘)中去。
innodb_flush_log_at_trx_commit设置为 2,每次事务提交时MySQL都会把log buffer的数据写入log file.但是flush(刷到磁盘)操作并不会同时进行。该模式下,MySQL会每秒执行一次 flush(刷到磁盘)操作。
使用navicat导入

其他操作

复制当前主机文件到其他主机
scp -P  8023 ./x.sql 43.138.164.99:./
#复制当前主机的./x.sql 到主机43.138.164.99:./下
#-P 指定ssh登录端口
优化导入相关
set sql_log_bin=0;
新建库,并且不需要生成 binlog 日志。
然后执行导入,这样速度也会加快。(如MySQL没开启binlog,则无需执行该语句)

set global sync_binlog = 200000;
sync_binlog =0,像操作系统刷其他文件的机制一样,MySQL不会同步到磁盘中去而是依赖操作系统来刷新binary log。
sync_binlog =N (N>0) ,MySQL 在每写 N次 二进制日志binary log时,会使用fdatasync()函数将它的写二进制日志binary log同步到磁盘中去

innodb_flush_log_at_trx_commit默认值为1,可设置为0、1、2
innodb_flush_log_at_trx_commit 设置为 0,log buffer将每秒一次地写入log file中,并且log file的flush(刷到磁盘)操作同时进行.该模式下,在事务提交的时候,不会主动触发写入磁盘的操作。
innodb_flush_log_at_trx_commit设置为 1,每次事务提交时MySQL都会把log buffer的数据写入log file,并且flush(刷到磁盘)中去。
innodb_flush_log_at_trx_commit设置为 2,每次事务提交时MySQL都会把log buffer的数据写入log file.但是flush(刷到磁盘)操作并不会同时进行。该模式下,MySQL会每秒执行一次 flush(刷到磁盘)操作。
评论 (0)

点击这里取消回复。

欢迎您 游客  

Copyright © 2025 网站备案号 : 蜀ICP备2022017747号
smarty_hankin 主题. Designed by hankin
主页
页面
  • #1742(无标题)
博主
tang.show
tang.show 管理员
linux、centos、docker 、k8s、mysql等技术相关的总结文档
210 文章 2 评论 201255 浏览
测试
测试