mysql数据迁移以及加锁_学长喜欢啥的博客-程序员宅基地

技术标签: ubuntu操作安装  数据库  

一、跨服务器mysql数据迁移

1、在源服务器的源数据库中导出数据文件

使用x shell登录到源服务器并进入mysql命令行模式下

#指定要操作的数据库
use db_name
​
#my_table_name为指定数据表名
#fans.txt为生成的输出文件的名称 这里有个坑 保存路径的位置必须是具有mysql权限的位置 详细见下面的“注意项” 经测试 公司的服务器在保存时必须写如下的完整路径
select * from my_table_name into outfile '/var/lib/mysql-files/fans.txt';
​

注意项

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

2、访问源服务器复制文件

在目标服务器访问源服务器,复制文件到本地。

#拷贝单个文件命令
#username为用户名  ip为源服务器的ip file_path为文件存放路径 local_path为本地保存路径
#注意冒号后面没有空格(加了会报错)
scp file [email protected]:file_path local_path
​
例如: scp file [email protected]:/var/lib/mysql-files/fans.txt .
注意最后面有个.

3、将文件移动到mysql权限的目录下

mv命令
例如: mv fans.txt /var/lib/mysql-files/

4、在目标数据库导入文件

使用x shell登录到目标服务器并进入mysql命令行模式下

假使上述步骤已完成,即fans.txt文件已存在于/var/lib/mysql-files/ 目录下

#low-priority MySQL会等到没有其他人读这个表的时候,才把插入数据
#ignore 跳过有唯一键的现有行的重复行的输入
#file_path 文件路径 "/var/lib/mysql-files/fans.txt"
#my_tabel_name 导入的数据表名
#如果提示错误可以将low-priority删除再试一遍
load data low-priority infile "file_path" ignore into table my_tabel_name;
#当数据量大时,此过程较慢 可能会花20秒以上

备注

replace和ignore关键词的使用

控制对现有的唯一键记录的重复的处理。如果你指定replace,新行将代替有相同的唯一键值的现有行。如果你指定ignore,跳过有唯一键的现有行的重复行的输入。如果你不指定任何一个选项,当找到重复键时,出现一个错误,并且文本文件的余下部分被忽略。

 

二、mysql加锁

1、全局锁

加全局读锁的方法,命令是

Flush tables with read lock;

当你需要让整个库处于只读状态的时候,可以使用这个命令,之后其他线程的以下语句会被阻塞:数据更新语句(数据的增删改)、数据定义语句(包括建表、修改表结构等)和更新类事务的提交语句。

退出客户端后自动释放锁

2、表级锁

表锁的语法是

 #my_table_name为要操作的表名
 #read和write选择一个
 lock tables my_table_name read/write
 #read权限表示只读 阻塞写线程
 #write 阻塞读写线程
 #例如
 lock tables t1 read, t2 write;
 #解锁
 unlock tables;

注意

如果在某个线程 A 中执行 lock tables t1 read, t2 write;这个语句,则其他线程写 t1、读写 t2 的语句都会被阻塞。同时,线程 A 在执行 unlock tables 之前,也只能执行读t1、读写 t2 的操作。连写 t1 都不允许,自然也不能访问其他表。

释放锁

可以用 unlock tables 主动释放锁,也可以在客户端断开的时候自动释放

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/jiangbin2jly/article/details/102497822

智能推荐

2017年计算机中级职称考试,2017年中级职称计算机考试试题_不胖妞的博客-程序员宅基地

2017年中级职称计算机考试试题全国职称计算机考试可以提高计算机和网络的普及应用程度,加强“信息资源的开发和利用”的精神,落实国家加快信息化建设的要求,引导全国专业技术人员学习掌握计算机知识。下面是小编整理的关于职称计算机考试试题,欢迎大家练习!一、设置图片的文字环绕方式:该考点是常考的知识点,其考查方法多为要求将图片的环绕方式设置为某一种指定方式。设置图片文字环绕方式可以选择下列操作之一:选中图...

oracle 统计分析函数_河南骏的博客-程序员宅基地

Oracle分析函数——函数列表 SUM        :该函数计算组中表达式的累积和MIN        :在一个组中的数据窗口中查找表达式的最小值MAX        :在一个组中的数据窗口中查找表达式的最大值AVG         :用于计算一个组和数据窗口内表达式的平均值。COUNT      :对一组内发生的事情进行累积计数------------------

mysql opened tables_MySQL table_cache and Opened_tables_电影魔鬼-教程王的博客-程序员宅基地

First, let's consider those status variables:Open tables : The number of tables that are open.Opened_tables : The number of tables that have been opened. If Opened_tables is big, your table_open_cache...

Java8的新特性--新时间日期API_是茜茜qianqian呀的博客-程序员宅基地

目录一、简单介绍二、常见用法示例2.1 LocalDateTime、 LocalDate、 LocalTime2.1.1 获取当前时间2.1.2 时间日期的比较和运算判断2.1.3 时间日期的转换2.2 Instant 时间戳2.3 ZoneId2.5 Duration、Period 计算时间间隔2.6 TemporalAdjuster 时间矫正器Java8提供了一套全新的日期时间API,都位于java.time包下,这个包涵盖了所有处理日期date、时间time、日期/时间dateTime、时区zo

from sklearn 和 from scipyDLL load failed: 找不到指定的程序。_cv-daily的博客-程序员宅基地

配置环境的各种坑(用anaconda里边安装,很多包的版本需要一起变化)tensorflow-gpu tensorflow cudnn cudatoolikit sklearn1.10.0 1.10.0 6.0 8.0 0....

HTML 工作必备干货_码农凯的博客-程序员宅基地

HTML的总结HTML的基本内容一、 HTML的语法1. 标签与属性区别在HTML中,通常标签都是由开始标签和结束标签组成的,开始标签用“<标签名>”表示,结束标签用“</标签名>”表示。元素值都是包含标签在内的整体,出去标签的部分叫做内容。属性要在开始标签中指定,用来表示该标签的性质和特性。通常都是以"属性名="值“ ”的形式来表示,用空格隔开后,还可以指定多个属性。指定多个属性时不用区分顺序。2. 表格的必备知识2.1 表格的基本架构 <table&g

随便推点

教你10分钟搞定Java爬虫HTML解析!_程序员lamed的博客-程序员宅基地

Java爬虫解析HTML文档的工具有:htmlparser, Jsoup。本文将会详细介绍Jsoup的使用方法,10分钟搞定Java爬虫HTML解析。    Jsoup可以直接解析某个URL地址、HTML文本内容,它提供非常丰富的处理Dom树的API。如果你使用过JQuery,那你一定会非常熟悉。    Jsoup最强大的莫过于它的CSS选择器支持了。比如:document.select(...

PTA 数据结构与算法 7-14 电话聊天狂人 (25 point(s))_忘梦心的博客-程序员宅基地

7-14 电话聊天狂人 (25 point(s))给定大量手机用户通话记录,找出其中通话次数最多的聊天狂人。输入格式:输入首先给出正整数N(≤105),为通话记录条数。随后N行,每行给出一条通话记录。简单起见,这里只列出拨出方和接收方的11位数字构成的手机号码,其中以空格分隔。输出格式:在一行中给出聊天狂人的手机号码及其通话次数,其间以空格分隔。如果这样的人不唯一,则输出狂人中最小的号码...

Xadmin_weixin_30652897的博客-程序员宅基地

Django之Xadmin先回顾admin的启动流程:启动:加载admin组件,配置urls使网页可以访问到注册:admin.site.register(model),注册以后就可以增删改查这个表了设计:为每一个表设计增删改查url设计思想Django一启动,Xadmin的site对象最终是要设计出注册model的增删改查四个url。/app01/book/...

[论文笔记]Learning exploration policies for navigation_WensongChen的博客-程序员宅基地

Learning exploration policies for navigation任务驱动的导航问题已经得到较好的解决,但是如何有效地探索一个新环境,这就是本文关注的点。本文主要研究了行动体在没有任务奖励的情况下自主探索3D环境。提出一种基于学习的方法,并研究了不同的策略架构、奖励函数和训练模式。视频和代码简单介绍一下 导航:· 基于几何重构和路径规划的方法:基于SLAM的方法,首先构建地图,然后使用定位和路径规划进行导航。但是如何构建地图呢,当前的方法或者使用人类操作员来控制机器人来构建

SpringBoot Admin_卢大宝宝的博客-程序员宅基地

Spring Boot Admin 是一个管理和监控Spring Boot 应用程序的开源软件非 Spring Cloud Discovery 型配置server端pom.xml引入 server 端依赖 <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifa.

2018初赛_SSL_Maple的博客-程序员宅基地

这一次终于进了,去年就差了三分,这一次,感觉还好,虽然有一些不会做,但是其他题的分数也足够让我超过分数线。以下是答案。第二十四届全国青少年信息学奥林匹克联赛初赛普及组参考答案一、单项选择题(共 15 题,每题2 分,共计30 分)12345678910DDDBBAAAAB1112131415A...

推荐文章

热门文章

相关标签