1、数据迁移:

1.数据量较少时可使用mysqldump和mysql命令导出和导入

# 导出指定数据库系统
mysqldump -u _username -p _dbname > _sqlfileFilename.sql # 导入指定数据库系统
mysql -u _username -p _dbname < "./_sqlfileFilename.sql" # 导出所有数据库系统
mysqldump -u _username -p --all-databases > _all.sql # 导入
mysql -u _username -p < "./_all.sql" # 以"_"开头の部分根据实际情况填写
# 参考:https://www.cnblogs.com/SZxiaochun/p/8359456.html
  1. 注意:win导出导入建议都用cmd,否则会出现如下报错:ERROR: ASCII '\0' appeared in the statement, but this is not allowed unless option --binary-mode is enabled and mysql is run in non-interactive mode. Set --binary-mode to 1 if ASCII '\0' is expected. Query: '?'.
  2. 如果出现报错:ERROR at line 140: Unknown command '\''. 可以添加字符集参数解决:mysql -uroot -pPASSWORD test < data2.sql --default-character-set=utf8

2.数据量较大时可使用select data into outfile file.txt、load data infile file.txt into table的命令高效迁移(百万数据只需数分钟)

参考:https://cloud.tencent.com/developer/article/1804242

在源数据库中导出数据文件

  select * from dc_mp_fans into outfile '/data/fans.txt';    

复制数据文件到目标服务器

zip fans.zip /data/fans.txtscp fans.zip root@ip:/data/    

在目标数据库导入文件

unzip /data/fans.zip
load data infile '/data/fans.txt' into table wxa_fans(id,appid,openid,unionid,@dummy,created_at,@dummy,nickname,gender,avatar_url,@dummy,@dummy,@dummy,@dummy,language,country,province,city,@dummy,@dummy,@dummy,@dummy,@dummy,@dummy,@dummy,@dummy,@dummy);

按照这么几个步骤操作,几分钟内就完成了一个百万级数据表的跨服务器迁移工作。

注意项

mysql安全项设置

在mysql执行load data infile和into outfile命令都需要在mysql开启了secure_file_priv选项, 可以通过show global variables like '%secure%';查看mysql是否开启了此选项,默认值Null标识不允许执行导入导出命令。通过vim /etc/my.cnf修改mysql配置项,将secure_file_priv的值设置为空:

[mysqld]  secure_file_priv=''

则可通过命令导入导出数据文件。

3.数据恢复

除了上述通过sql文件恢复的方式,mysql8同样也可以用data文件恢复数据。具体操作就是将原数据库的data目录下的所有内容复制到新数据库data目录下,然后登录数据库依次对每个表执行如下sql语句:

ALTER TABLE tablename  IMPORT TABLESPACE; 

经典常用SQL查询语句和常见问题

2、常用sql:

------------------------
// mysql改root密码
mysqladmin -u用户名 -p旧密码 password 新密码
# ---more-MySQL修改root密码の4种方法:
# https://blog.csdn.net/th_num/article/details/71402801 # 查看sql_mode
SHOW VARIABLES LIKE 'sql_mode'; #------------------------
以下位转载类容 原文作者:qmdweb
原文: 经典SQL查询语句大全 https://blog.csdn.net/qmdweb/article/details/83054739
#------------------------ 1、说明:创建数据库系统
CREATE DATABASE database-name
2、说明:删除数据库系统
drop database dbname
3、说明:备份sql server
--- 创建 备份数据の device
USE master
EXEC sp_addumpdevice 'disk', 'testBack', 'c:mssql7backupMyNwind_1.dat'
--- 开始 备份
BACKUP DATABASE pubs TO testBack
4、说明:创建新表
create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..) 根据已有の表创建新表:
A:create table tab_new like tab_old (使用旧表创建新表)
B:create table tab_new as select col1,col2… from tab_old definition only 5、说明:删除新表
drop table tabname
truncate table tableName //清空表并释放空间(新记录のid从1开始) 6、说明:增加1个列
Alter table tabname add column col type
# 注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变の是增加varchar类型の长度。 7、说明:添加主键: Alter table tabname add primary key(col)
说明:删除主键: Alter table tabname drop primary key(col) 8、说明:创建索引:create [unique] index idxname on tabname(col….)
删除索引:drop index idxname
注:索引是不可更改の,想更改必须删除重新建。 9、说明:创建视图:create view viewname as select statement
删除视图:drop view viewname 10、说明:几个简单の基本のsql语句
选择:select * from table1 where 范围
插入:insert into table1(field1,field2) values(value1,value2)
删除:delete from table1 where 范围
更新:update table1 set field1=value1 where 范围
替换:UPDATE table set colname = replace( colname,"/static","") WHERE 范围;
查找:select * from table1 where field1 like ’%value1%’ ---likeの语法很精妙,查资料!
排序:select * from table1 order by field1,field2 [desc]
总数:select count(fidld) as totalcount from table1
求和:select sum(field1) as sumvalue from table1
平均:select avg(field1) as avgvalue from table1
最大:select max(field1) as maxvalue from table1
最小:select min(field1) as minvalue from table1 11、说明:几个高级查询运算词
A: UNION 运算符
UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重复行而派生出1个结果表。当 ALL 随 UNION一起使用时(即 UNION ALL),不消除重复行。两种情况下,派生表の每一行不是来自 TABLE1 就是来自 TABLE2。
B: EXCEPT 运算符
EXCEPT 运算符通过包括所有在 TABLE1 中但不在 TABLE2 中の行并消除所有重复行而派生出1个结果表。当 ALL 随 EXCEPT 一起使用时 (EXCEPT ALL),不消除重复行。
C: INTERSECT 运算符
INTERSECT 运算符通过只包括 TABLE1 和 TABLE2 中都有の行并消除所有重复行而派生出1个结果表。当 ALL 随 INTERSECT 一起使用时 (INTERSECT ALL),不消除重复行。
注:使用运算词の几个查询结果行必须是一致の。 12、说明:使用外连接
A、left (outer) join:
左外连接(左连接):结果集几包括连接表の匹配行,也包括左连接表の所有行。
SQL: select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c
B:right (outer) join:
右外连接(右连接):结果集既包括连接表の匹配连接行,也包括右连接表の所有行。
C:full/cross (outer) join:
全外连接:不仅包括符号连接表の匹配行,还包括两个连接表中の所有记录。 12、分组:Group by:
一张表,一旦分组 完成后,查询后只能得到组相关の信息。
组相关の信息:(统计信息) count,sum,max,min,avg 分组の标准)
在SQLServer中分组时:不能以text,ntext,image类型の字段作为分组依据
在selecte统计函数中の字段,不能和普通の字段放在一起; 13、查询N天前
# eg.查询30天前
SELECT * FROM resource WHERE upload_at < DATE_SUB(now(),INTERVAL 30 DAY);

Mysql数据库常用操作和Mysql大数据高效迁移方案的更多相关文章

  1. DBA必备:MySQL数据库常用操作和技巧

    DBA必备:MySQL数据库常用操作和技巧 2011-02-25 15:31 kaduo it168 字号:T | T MySQL数据库可以说是DBA们最常见和常用的数据库之一,为了方便大家使用,老M ...

  2. MySQL数据库常用操作和技巧

    MySQL数据库可以说是DBA们最常见和常用的数据库之一,MySQL的广泛应用,也使更多的人加入到学习它的行列之中.下面是老MySQL DBA总结的MySQL数据库最常见和最常使用的一些经验和技巧,分 ...

  3. Mysql数据库常用操作语句大全

    零.用户管理: 1.新建用户: >CREATE USER name IDENTIFIED BY 'ssapdrow'; 2.更改密码: >SET PASSWORD FOR name=PAS ...

  4. Mysql数据库常用操作整理

    0.说明 MySQL数据库是一个十分轻便的数据库管理系统,相比大型的数据库管理系统如Oracle,MySQL更拥有轻便.灵活.开发速度快的特色,更适用于中小型数据的存储与架构,被数以万计的网站采用.从 ...

  5. MySQL数据库 常用操作

    1:使用SHOW语句找出在服务器上当前存在什么数据库: mysql> SHOW DATABASES; 2:创建一个数据库MYSQLDATA mysql> CREATE DATABASE M ...

  6. mysql数据库常用操作

    目前最流行的数据库: oracle.mysql.sqlserver.db2.sqline --:单行注释 #:也是单行注释 /* 注释内容*/:多行注释 mysql -uroot -p密码:登录mys ...

  7. Linux下MySql数据库常用操作

    1.显示数据库 show databases; 2.选择数据库 use 数据库名; 3.显示数据库中的表 show tables; 4.显示数据表的结构 describe 表名; 5.显示表中记录 S ...

  8. Mysql数据库实践操作之————批量插入数据(100万级别的数据)

    第一种方法:使用insert into 插入 从Redis每次获取100条数据,根据条件去插入到Mysql数据库中: 条件: 如果当前队列中的值大于1000条,则会自动的条用该方法,该方法每次获取从队 ...

  9. MySQL数据库常用操作入门

    一.MySQL MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle旗下产品.在WEB应用方面,MySQL是最好的RDBMS应用软件.MySQL体积小.速度快.总 ...

  10. MySQL数据库常用操作语法

    1. 数据库初始化配置 1.1. 创建数据库 create database apps character set utf8 collate utf8_bin;创建数据库”app“,指定编码为utf8 ...

随机推荐

  1. SDN网络技术在云计算中的应用

    本文分享自天翼云开发者社区<SDN网络技术在云计算中的应用>,作者:1****m SDN(软件定义网络)是一种新型的网络架构,其基本思想是将数据平面和控制平面分离,通过集中式的控制器来管理 ...

  2. RFID基础——高频RFID协议、读写模块和标签

    RFID技术中的低频.高频.超高频有各自的优点和应用场景.其中,与我们个人生活息息相关的门禁卡.公交卡.身份证.图书标签主要用到的是高频RFID.这些应用也对应着高频RFID中不同的协议. 高频RFI ...

  3. 推荐几款开源且免费的 .NET MAUI 组件库

    前言 今天大姚给大家推荐 3 款开源且免费的 .NET MAUI 组件库. .NET MAUI介绍 .NET 多平台应用 UI (.NET MAUI) 是一个跨平台框架,用于使用 C# 和 XAML ...

  4. QT5笔记:18 QPainter基本绘图

    代码 #include "widget.h" #include "ui_widget.h" #include <QPainter> Widget:: ...

  5. QT5笔记:17. QComboBox和QPlainTextEdit

    例子 #include "widget.h" #include "ui_widget.h" #include <QTextBlock> Widget ...

  6. Kafka - server.properties参数详解

    server.properties #broker的全局唯一编号,不能重复 broker.id=0 #用来监听链接的端口(kafka端口号),producer或consumer将在此端口建立连接 po ...

  7. Zookeeper - Zookeeper启动失败,日志报错 Missing election port for server: 2

    Missing election port for server: 2 [整理日期]2023年6月1日 [基础环境]JDK 1.8.0_372.Zookeeper 3.4.5 [问题描述]进行部署分布 ...

  8. LangChain大模型框架& Dify低代码 AI 开发平台

    目录 1. LangChain介绍 1.1 架构 1.2 概念 1.3 术语 1.4 LangChain实战 2. LLM 应用开发平台dify 2.1 dify安装 2.2 设置知识库 3. dif ...

  9. php解析url并得到url中的参数及获取url参数的四种方式

    https://www.jb51.net/article/73900.htm 下面通过四种实例给大家介绍php url 参数获取方式. 在已知URL参数的情况下,我们可以根据自身情况采用$_GET来获 ...

  10. git 合并分支 merge

    git 分支开发 git 分支开发,分支(feature)同步主干(master)代码,以及最终分支合并到主干的操作流程   由于 rebase 执行速度慢,分支同步主干代码时,分支的每次提交都可能和 ...