一,数据库的备份与导入

1),数据库的备份

1.导出整个数据库

mysqldump -u 用户名 -p 数据库名 > 导出的文件名

例:mysqldump -u dbadmin -p myblog > /home/zhangy/blog/database_bak/myblog.sql

2.导出一个表

mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名

例:mysqldump -u dbadmin -p myblog wp_users> /home/zhangy/blog/database_bak/blog_users.sql

3.导出一个数据库结构

mysqldump -u dbadmin -p -d --add-drop-table myblog > /home/zhangy/blog/database_bak/blog_struc.sql

说明:-d 没有数据 --add-drop-table 在每个create语句之前增加一个drop table

4.导出数据库一个表结构

mysqldump -u dbadmin -p -d --add-drop-table myblog  wp_users> /home/zhangy/blog/database_bak/blog_users_struc.sql

说明:-d 没有数据 --add-drop-table 在每个create语句之前增加一个drop table

2),数据库的导入

1,用 mysqldump 备份出来的文件是一个可以直接倒入的 SQL 脚本,有两种方法可以将数据导入。

例如:

#/usr/local/mysql/bin/mysql -u root -p *****  myblog   < /home/zhangy/blog/database_bak/myblog.sql

这种方法,我以前经常现在很少用了,因为很容易产生乱码,因为:

a,导出数据库时,你如果忘了设置导出字符集的话,在导入的时候,就有可能会出问题.

b,假如,你导出时设置导出时设置了utf8的编码,但是你又把你的数据库现在的字符集改成了gb2312的.这样又会乱码。

2,用 source 语句

例如:

mysql -u dbadmin -p

use myblog;

set names utf8;  #这里的字符集根你的将要导入的数据库的字符集一至。

source /home/zhangy/blog/database_bak/myblog.sql;

二,文件的备份

1),文件的备份

你可以用tar命令来打包压缩你要备份的文件,然后用shell来让它定期备份。不过没有cpio来的方便

cpio命令参数:

-i 从标准输入中读取文件。
-o 从标准输入中读出路径名清单并且拷贝文件到标准输出中。
-p 从标准输入中读出文件路径名清单。
-c 以 ASCII 字符的形式读写头信息,便于移植。。
-d 创建需要的目录
-u 无条件的复制(通常,旧文件不能用相同的文件名替代新文件)。
-m 保留先前文件的修改时间。这个选项在拷贝目录的时候不起作用。
-v 详细的,列出文件名称列表。

[root@BlackGhost zhangy]# find /home/zhangy/test -type f|cpio -o > /home/zhangy/test.cpio

31 blocks

[root@BlackGhost zhangy]# ls -al |grep cpio

-rw-r--r--  1 root   root  15872 Feb  8 15:10 test.cpio

2),文件的还原

cd /home/zhangy/test

ls

aaa.cpio  test.cpio  test.tar.gz

rm *.*         #删除该文件夹下面的所以测试文件

ls

cpio -i < /home/zhangy/test.cpio          #导入以前的备份文件

31 blocks

ls

aaa.cpio  test.cpio  test.tar.gz

简单吧,我觉得挺简单的。

linux 简单的mysql备份和导入,以及文件的备份和导入的更多相关文章

  1. Linux系统下 MYSQL数据库中的数据库文件在本机内迁移 (需暂停服务的方式)

    Linux系统下 MYSQL数据库中的数据库文件在本机内迁移 本机采用Ubuntu16.04系统,tar方式安装MySQL5.7.21 数据库安装文件夹为    /home/devil/mysql 现 ...

  2. 解决ubuntu server mysql load data infile 导入本地文件ERROR 1148 (42000)错误。

    问题:在ubuntu server 上使用apt-get 安装完 mysql 使用 load data infile 出现错误,错误代码如下: ERROR (): The used command i ...

  3. MySQL导入csv文件内容到Table及数据库的自增主键设置

    写在前面 目的是测试将csv文件内容导入到表中, 同时记录一下自增主键的设置. 测试采用MySQL8.0. 新建表customer_info如下, 未设置主键. 修改上表, 添加主键id, 并设置为自 ...

  4. Linux下登陆MySQL时遇到报错"RROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) "

    前言 作者在2021-07-21时遇到 linux下登陆MySQL时遇到报错"RROR 1045 (28000): Access denied for user 'root'@'localh ...

  5. java调用sqlldr导入csv文件数据到临时表

    package cn.com.file;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File; ...

  6. Oracle----SQL语句积累 (Oracle 导入 dmp文件)

    Oracle----SQL语句积累 (Oracle 导入 dmp文件) Oracle SQL PL  导入dum文件 1.数据库DBA权限: 注意:这个是在cmd命令行中直接输入,不需要进入Oracl ...

  7. php导入sql文件

    php导入sql文件 sql php php导入sql文件 基本思路 1.打开sql文件,放入一个变量(字符串类型)其中 2.使用正则替换掉其中的凝视("--"与"/** ...

  8. mysql数据库在linux下的导出和导入及每天的备份

    mysql数据库的导出,导入 1. 导出数据库为sql文件 mysqldump 数据库名 -uroot -p > xxx.sql 导出数据表结构和数据 eg.   mysqldump cloud ...

  9. linux系统上Mysql数据库导入导出操作

    需求:把MySQL数据库目录中的dz数据库备份到/home/dz_bak.sql ,然后再新建一个数据库dzbak,最后把/home/dz_bak.sql 导入到数据库dzbak中.操作如下:以下操作 ...

随机推荐

  1. laravel基础课程---1、laravel安装及基础介绍(laravel如何安装)

    laravel基础课程---1.laravel安装及基础介绍(laravel如何安装) 一.总结 一句话总结: [修改composer镜像地址].[明确laravel的安装要求].[安装指定版本的la ...

  2. weex 安装过程中遇到的坑

    安装 然后 注意: 在weex-toolkit1.0.8版本后添加了npm5规范的npm-shrinkwrap.json用于锁定包依赖,故npm版本<5的用户需要通过npm i npm@late ...

  3. setData 设置某个数组或者数组对象的值

    demo:list是一个对象数组,设置list数组某个对象的值 下标是动态index的value值 let item='list['+index+'].value'; this.setData({ [ ...

  4. activeMQ:java消息机制初试(一)

    前言:自打学习编程以来,就知道activeMQ这么个东西,但是仅仅限于只知其名,不闻其详.现在加入到新的项目组,项目中使用了这个.现在想重新去学习和了解.最后整合成一个完成的demo,在网上看的Dem ...

  5. 算法导论17:摊还分析学习笔记(KMP复杂度证明)

    在摊还分析中,通过求数据结构的一系列的操作的平均时间,来评价操作的代价.这样,即使这些操作中的某个单一操作的代价很高,也可以证明平均代价很低.摊还分析不涉及概率,它可以保证最坏情况下每个操作的平均性能 ...

  6. Git(一)

    Git概念 Git其实是一种分布式版本控制系统,与CVS,Subversion等集中化的版本控制系统相对.它主要有几个特点: • 速度快 • 简单的设计 • 对非线性开发模式的强力支持(允许上千个并行 ...

  7. ESXI中 Linux虚拟机不重启扩展磁盘

    1.首先对虚拟机进行编辑设置 硬盘大小进行修改到80G: 2.在Linux系统中查看磁盘大小 此时并没有什么变化: 3. 上面没有变化的原因,是因为需要重新扫描存储设备的scsi总线: 找到scsi磁 ...

  8. TypeScript完全解读(26课时)_14.ES6和Nodejs中的模块

    创建modules文件夹,我们的文件都写在这里面 modules下面新建index.js文件,在index.ts内引入这个js文件 es6的模块 最主要的两个关键字 import和export imp ...

  9. [工具分享]wingide 6 算号代码keygen

    import string import random import sha BASE16 = '0123456789ABCDEF' BASE30 = '123456789ABCDEFGHJKLMNP ...

  10. Laravel框架之Request操作

    public function request(Request $request){ //1.取值 //echo $request->input('name'); //echo $request ...