A:docker容器的mysql

docker exec -it mysql bash -- 进入容器

备份脚本

mysqldump -uroot -p123456 --databases dbName > /sqldumps/dbName-`date +"%Y%m%d_%H%M%S"`.sql

压缩  tar -zcvf dbName.tar.gz ./dbName-20190217_113255.sql   ["dbName.tar.gz"压缩后的名字,“./dbName-20190217_113255.sql”被压缩的文件]

将容器中的文件复制到宿主机

docker cp <你的mysql容器名>:/sqldumps/test.sql  /home

scp 传输

将宿主机的文件复制到容器中

docker cp dbName.tar.gz mysql:/sqldumps/

解压 tar -zxvf dbName.tar.gz

docker exec -it mysql bash 进入容器

mysql -u root -p 进入mysql服务

[如果需要在指定数据库下执行]

[show databases;查看数据库;

use database; 进入数据库]

source  /tmp/xxx.sql

对于部署在docker容器里的mysql

直接将数据库备份到宿主机

docker exec -it mysql mysqldump -uroot -pttx2011 -hlocalhost --databases uco_wms_test > /home/ttx/app/mysqlbackfile/uco_wms_test_`date +"%Y%m%d_%H%M%S"`.sql

目录为宿主机目录

B:非docker容器的mysql,服务器上直接安装的mysql

备份脚本

mysqldump -uroot -p123456 --databases dbName > /sqldumps/dbName-`date +"%Y%m%d_%H%M%S"`.sql

mysql -u root -p 进入mysql服务

[如果需要在指定数据库下执行]

[show databases;查看数据库;

use database; 进入数据库]

source  /tmp/xxx.sql

【mysqldump -uroot -p123456 -hlocalhost --all-databases >/app/backfiles/all-database-`date +"%Y%m%d_%H%M%S"`.sql】这条备份全库的命令慎用,会导致一些sql配置不兼容,如,表,字段 的提示

C:MYSQL修改数据库名

1,使用shell脚本实现

mysqlconn="mysql -uroot -p123456"

#需要修改的数据库名
olddb="test1"
#修改后的数据库名
newdb="test2"

#创建新数据库
$mysqlconn -e "drop database if exists ${newdb};create database ${newdb};"

#获取所有表名
tables=$($mysqlconn -N -e "select table_name from information_schema.tables where table_schema='${olddb}'")

#修改表名
for name in $tables;do
$mysqlconn -e "rename table ${olddb}.${name} to ${newdb}.${name}"
done

#删除老的空库
#$mysqlconn -e "drop database ${olddb}"

2,使用存储过程实现

BEGIN
DECLARE i INT default 0;
DECLARE num int default 0;
DECLARE tableName varchar(50);
select num:=count(*) from information_schema.tables where table_schema='oldDBname'
WHILE i < @num DO
select tableName:=table_name from information_schema.tables where table_schema='oldDBname' LIMIT i,0
rename table `oldDBname`.`@tableName` to `newDBname`.`@tableName`;
SET i = i + 1 ;
SELECT @headerid headerids;
END WHILE ;
END

--------------------------利用命令直接内网复制数据库

首先创建一个数据库[用命令创建,或者在客户端创建都可]

命令创建数据库:

CREATE DATABASE `newdb` DEFAULT CHARACTER SET UTF8 COLLATE UTF8_GENERAL_CI;

复制数据库,使用mysqldump及mysql的命令组合,一次性完成复制

#mysqldump db1 -uroot -p123456 --add-drop-table | mysql newdb -uroot -p123456

以上是在同一台MySQL服务器上复制数据库的方法。如果要复制到远程另一台MySQL服务器上,可以使用mysql的“ -h 主机名/ip”参数。前提是mysql允许远程连接,且远程复制的传输效率和时间可以接受。

不在同一个mysql服务器上

#mysqldump db1 -uroot -p123456 --add-drop-table | mysql -h 192.168.1.22 -p 3306 newdb -uroot -p123456

Windows本地使用命令链接mysql,作导入/导出操作

进入到mysql的安装路径[C:\Program Files\MySQL\MySQL Server 5.6\bin]

执行cmd

mysql -uroot -p123321

链接数据库服务,进行命令操作

linux计划任务执行脚本

crontab -e  给当前用户增加脚本

编辑完,ctrl+x退出  Yes 回车

/var/spool/cron/crontabs/用户名

脚本保存目录

重启cron

/etc/init.d/cron restart

Linux-mysql服务级别对DB的操作要领[导出-导入(执行SQL)]及修改数据库名称的更多相关文章

  1. SQL SERVER 修改数据库名称(包括 db.mdf 名称的修改)

    刚开始学习SQL SERVER 2005,弄了一个上午修改数据库名,主要是需要修改db.mdf 和db_log.ldf的名字,总算解决了.在这里记下,以后再要修改了就别忘了. 假设原来数据库名为db, ...

  2. 怎样在mysql里面修改数据库名称

    怎样在mysql里面修改数据库名称       提供三种方法:1. RENAME DATABASE db_name TO new_db_name这个..这个语法在mysql 5.1.7中被添加进来,到 ...

  3. mysql数据库批量执行sql文件对数据库进行操作【windows版本】

    起因: 因工作需要,在本机测试环境升级mysql数据库,需逐条执行mysql数据库的sql文件对数据库进行升级,因此找了些关于mysql的文章,对批量升级数据库所需的sql文件进行升级. 整理思路: ...

  4. SQL SERVER C#数据库操作类(连接、执行SQL)

    using System; using System.Collections; using System.Collections.Specialized; using System.Data; usi ...

  5. SQL SERVER 2012修改数据库名称(包括 db.mdf 名称的修改)

    假设原来数据库名为db,附加数据库为db.mdf和db_log.ldf.需要改成dbt,及dbt.mdf和dbt_log.ldf. 步骤: .首先把原来的数据库进行备份(选择数据库->右键-&g ...

  6. MySQL数据库执行sql语句创建数据库和表提示The 'InnoDB' feature is disabled; you need MySQL built with 'InnoDB' to have it working

    MySQL创建数据库 只想sql文件创建表时候提示 The 'InnoDB' feature is disabled; you need MySQL built with 'InnoDB' to ha ...

  7. MySQL 查询排除指定字段、自定义变量、动态执行SQL

    今天在项目中,要查询一个表.这个表中有几十个字段.但是要把其中的一个特殊处理. 这个该怎么办呢?查来查去,SQL 中没有排除某一些字段的语句,只能单独写一些语句来处理: 基本思路:对于MySQL数据库 ...

  8. 使用linux计划任务自动拉起停止的通达OA服务apache和mysql服务

    概述: 数据库或web服务器瞬时并发过大时,可能面临宕机的危险,用类似开门狗的程序自动监控程序是否正常运行,在服务停止时自动启动服务,可临时解决该问题 监控apache服务的脚本: 每两分钟执行脚本检 ...

  9. go语言入门教程百度网盘 mysql图形化操作与数据导入

    mysql图形化操作与数据导入 @author:Davie 版权所有:北京千锋互联科技有限公司 数据库存储技术 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库.每个数据库都有一个 ...

随机推荐

  1. 国产网络损伤仪SandStorm -- 为什么数据流还是走Bypass链路?

    如果你在使用网络损伤仪SandStorm测试移动互联网的应用程序或者在仿真所谓"弱网测试"的时候,发现所有的数据流还是在走Bypass链路,并没有预期地走自己创建的仿真链路,那么你 ...

  2. Pangolin 安装测试 Installation & Examination (Ubuntu 20.04)

    Pangolin 安装测试 Installation & Examination (Ubuntu 20.04) 如题所述,这是一个比较轻松的 Pangolin 安装配置方法,同样是基于 WSL ...

  3. 【原创】Linux虚拟化KVM-Qemu分析(九)之virtio设备

    背景 Read the fucking source code! --By 鲁迅 A picture is worth a thousand words. --By 高尔基 说明: KVM版本:5.9 ...

  4. springboot( 三)redis demo

    redis介绍 Redis是目前业界使用最广泛的内存数据存储.相比memcached,Redis支持更丰富的数据结构,例如hashes, lists, sets等,同时支持数据持久化.除此之外,Red ...

  5. Java中Class.forName()用法和newInstance()方法详解

    1.Class.forName()主要功能 Class.forName(xxx.xx.xx)返回的是一个类, Class.forName(xxx.xx.xx)的作用是要求JVM查找并加载指定的类,也就 ...

  6. 链接脚本再探和VMA与LMA

    链接脚本简单描述 连接脚本的描述都是以节(section)的单位的,网上也有很多描述链接脚本语法的好文章,再不济还有官方的说明文档可以用来学习,其实主要就是对编译构建的整个过程有了深入的理解后就能对链 ...

  7. ARMv7-A 架构下的MMU

    ARM架构中MMU的作用主要就是将CPU发出的虚拟地址转换成为物理地址,从实现内核和用户程序和用户程序之间的虚拟地址空间隔离.MMU的主要组成为两部分,其一是内部的TLBs缓存:还有就是转换表装换单元 ...

  8. 币圈沸腾!SPC空投上线!不要错过!

    币圈最近处于沸腾的时刻,NGK侧链代币SPC已上线钱包,3.0公链NGK生态之SPC空投又来了,NGK的上一个项目BGV投资收益率最高破一千七百倍,NGK官方此次以算力持有者为中心,将发起第二轮福利- ...

  9. 开发Microsoft Teams选项卡应用安全注意事项

    我们都知道,为了方便广大的开发人员快速开发Microsoft Teams选项卡应用,微软提供了一个JS SDK,你可以通过这里 https://docs.microsoft.com/en-us/jav ...

  10. CodeMirror动态修改代码(关键: editor.getDoc().setValue(data); editor.refresh();)

    在使用codemirror时,其原理是根据form中的textarea标签,自动加载其内容,获得代码行的显示.(具体使用方式参见 codemirror官网使用手册 http://codemirror. ...