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. EFCore学习记录--数据访问技术人门

    1.安装Microsoft.EntityFrameworkCore.Sqlite.Microsoft.EntityFrameworkCore.Tools包2.创建模型 数据库上下文模型:Bloggin ...

  2. CF1475-D. Cleaning the Phone

    CF1475-D. Cleaning the Phone 题意: 手机上有很多应用非常占用内存,你要清理内存.对于每个应用\(i\)有以下描述:应用\(i\)占用了\(a_i\)的空间,它的方便度为\ ...

  3. K8S(07)交付实战-架构说明并准备zk集群

    k8s交付实战-架构说明并准备zk集群 目录 k8s交付实战-架构说明并准备zk集群 1 交付的服务架构图: 1.1 架构图解 1.2 交付说明: 2 部署ZK集群 2.1 二进制安装JDK 2.1. ...

  4. pyspark Py4JJavaError: Unsupported class file major version 56

    在jupyter notebook跑上面的代码的时候报错Py4JJavaError: An error occurred while calling z:org.apache.spark.mllib. ...

  5. C++ Primer笔记

    C++ Primer笔记 ch2 变量和基本类型 声明 extern int i; extern int i = 3.14;//定义 左值引用(绑定零一变量初始值,别名) 不能定义引用的引用:引用必须 ...

  6. git merge bug

    git merge bug 本地分支 dev commit 后, 直接 pull 远程 dev 分支, 导致远程 dev 分支 merge 到本地 dev 分支了, 取消本次 merge 操作? Re ...

  7. Twitter 分享

    Twitter 分享 Twitter Share API https://twitter.com/intent/tweet?url= &text= demo ?url= https://www ...

  8. flutter 1.5 in action

    flutter 1.5 in action https://flutter.dev/docs/get-started/flutter-for/react-native-devs https://flu ...

  9. Nodejs 使用 TypeScript

    安装依赖 λ yarn add typescript types/node concurrently nodemon wait-on -D 初始化一个 tsconfig.json λ ./node_m ...

  10. js字典

    传送门https://www.2cto.com/kf/201709/680989.html 点击