Linux-mysql服务级别对DB的操作要领[导出-导入(执行SQL)]及修改数据库名称
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)]及修改数据库名称的更多相关文章
- SQL SERVER 修改数据库名称(包括 db.mdf 名称的修改)
刚开始学习SQL SERVER 2005,弄了一个上午修改数据库名,主要是需要修改db.mdf 和db_log.ldf的名字,总算解决了.在这里记下,以后再要修改了就别忘了. 假设原来数据库名为db, ...
- 怎样在mysql里面修改数据库名称
怎样在mysql里面修改数据库名称 提供三种方法:1. RENAME DATABASE db_name TO new_db_name这个..这个语法在mysql 5.1.7中被添加进来,到 ...
- mysql数据库批量执行sql文件对数据库进行操作【windows版本】
起因: 因工作需要,在本机测试环境升级mysql数据库,需逐条执行mysql数据库的sql文件对数据库进行升级,因此找了些关于mysql的文章,对批量升级数据库所需的sql文件进行升级. 整理思路: ...
- SQL SERVER C#数据库操作类(连接、执行SQL)
using System; using System.Collections; using System.Collections.Specialized; using System.Data; usi ...
- SQL SERVER 2012修改数据库名称(包括 db.mdf 名称的修改)
假设原来数据库名为db,附加数据库为db.mdf和db_log.ldf.需要改成dbt,及dbt.mdf和dbt_log.ldf. 步骤: .首先把原来的数据库进行备份(选择数据库->右键-&g ...
- 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 ...
- MySQL 查询排除指定字段、自定义变量、动态执行SQL
今天在项目中,要查询一个表.这个表中有几十个字段.但是要把其中的一个特殊处理. 这个该怎么办呢?查来查去,SQL 中没有排除某一些字段的语句,只能单独写一些语句来处理: 基本思路:对于MySQL数据库 ...
- 使用linux计划任务自动拉起停止的通达OA服务apache和mysql服务
概述: 数据库或web服务器瞬时并发过大时,可能面临宕机的危险,用类似开门狗的程序自动监控程序是否正常运行,在服务停止时自动启动服务,可临时解决该问题 监控apache服务的脚本: 每两分钟执行脚本检 ...
- go语言入门教程百度网盘 mysql图形化操作与数据导入
mysql图形化操作与数据导入 @author:Davie 版权所有:北京千锋互联科技有限公司 数据库存储技术 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库.每个数据库都有一个 ...
随机推荐
- Atcoder Beginner Contest 168 D - .. (Double Dots) (BFS)
题意:有\(n\)个房间,在这些房间中两两连\(m\)次条边,问除了第一个房间,其他房间走到第一个房间的最短路径,输出这个房间所连的上一个房间,如果走不到,输出\(no\). 题解:刚开始我写了一个d ...
- B - 来找一找吧 HihoCoder - 1701
题目: 这次到渣渣问桶桶了... 准备给你n个数a1, a2, ... an,桶桶你能从中找出m个特别的整数吗,我想让任意两个之差都是k的倍数. 请你计算有多少种不同的选法.由于选法可能非常多,你只需 ...
- 洛谷 P2895 [USACO08FEB]Meteor Shower S (BFS)
题意:你刚开始位于坐标轴的\((0,0)\)点,一共有\(m\)颗流星砸向地面,每颗流星在\(t\)时砸到\((x,y)\)点,其四周上下左右也均有波及,你每秒可以向上下左右移动一个单位,问你是否可以 ...
- 【Azure Redis 缓存】使用Python代码获取Azure Redis的监控指标值 (含Powershell脚本方式)
问题描述 通过Metrics监控页面,我们能得知当前资源(如Redis)的运行情况与各种指标.如果我们需要把指标下载到本地或者生成JSON数据导入到第三方的监控平台呢?Azure是否可以通过Pytho ...
- 鸟哥的linux私房菜——第十三章学习(Linux 帐号管理与 ACLL 权限设置)
第十三章.Linux 帐号管理与 ACLL 权限设置 1.0).使用者识别码: UID 与 GID UID :User ID GID :group ID [root@study ~]# ll -d / ...
- TypeScript callback Object params
TypeScript callback Object params 回调函数 对象 参数 const func = (options = {}) => { // do somthing retu ...
- HTTP2.0 的学习笔记
1 1 1 HTTP2.0 1 11 1 1 1 1 1 1 超文本传输安全协议(英语:Hypertext Transfer Protocol Secure,缩写:HTTPS,也被称为HTTP ove ...
- Xcode 格式化 SwiftUI代码
Xcode 格式化 SwiftUI 代码 代码缩进 代码缩进 格式化 快捷键 Control + i ⌃ + i how to input mac keyboard symbol key ⌃ cont ...
- Android Kotlin 数据驱动模板
Android开发人员文档: 数据绑定入门 数据绑定库 生成的绑定类 布局和绑定表达式 1. 搭建环境build.gradle:app apply plugin: "kotlin-kapt& ...
- CNN专访灵石CTO:Baccarat流动性挖矿能否持续?
近日,CNN记者Robert独家专访Baccarat的项目团队CTO STEPHEN LITAN,跟他特别聊了聊DeFi的近况. 以下是专访全文: Robert:推出Baccarat的契机是什么? S ...