你好我如何知道老婆微信来绿我老婆位置

您所在的位置: &
MySQL复制表数据到新表的方法
MySQL复制表数据到新表的方法
在MySQL数据库中,应该如何将表数据复制到新表中呢?不要紧,下文就教您一个MySQL复制表数据到新表的方法,供您参考。
MySQL复制表数据操作相信大家都不会太陌生,下面就为您详细介绍复制表数据到新表的步骤,希望对您会有所启迪。
1.MySQL复制表结构及数据到新表
CREATE TABLE 新表
SELECT * FROM 旧表
2.只复制表结构到新表
CREATE TABLE 新表
SELECT * FROM 旧表 WHERE 1=2
即:让WHERE条件不成立.
方法二:(低版本的mysql不支持,mysql4.0.25 不支持,mysql5已经支持了)
CREATE TABLE 新表
3.复制旧表的数据到新表(假设两个表结构一样)
INSERT INTO 新表
SELECT * FROM 旧表
4.复制旧表的数据到新表(假设两个表结构不一样)
INSERT INTO 新表(字段1,字段2,&&.)
SELECT 字段1,字段2,&& FROM 旧表
【编辑推荐】
【责任编辑: TEL:(010)】
关于的更多文章
MariaDB是一个向后兼容、替代MySQL的数据库服务器。它包含所有主
数据库产品
数据库综合
数据库新闻
维基百科将切换到另外一款开源数据库MariaDB
MySQL众多的管理工具,是广大DBA管理好数据库的利器。
本专题将带领大家走入MongoDB的世界,MongoDB是一个基
MySQL集群由三部分组成,管理节点、存储节点和SQL节点
本书介绍如何将最流行的J2EE应用服务器WebLogic Server和最好的Java集成开发工具JBuilder结合起来开发J2EE应用,主要内容包括:W
51CTO旗下网站博客访问: 227326
博文数量: 56
博客积分: 2225
博客等级: 大尉
技术积分: 542
注册时间:
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
分类: Mysql/postgreSQL
####原理########
mysql 的数据同步,在 mysql 官方网站文档上,叫 replication 字面是重作的意思,意译就是同步了。
mysql 为了实现 replication 必须打开 bin-log 项,也是打开二进制的 mysql 日志记录选项。mysql 的 bin log 二进制日志,可以记录所有影响到数据库表中存储记录内容的 sql 操作,如 insert / update / delete 操作,而不记录 select 这样的操作。因此,我们可以通过二进制日志把某一时间段内丢失的数据可以恢复到数据库中,( 如果二进制日志中记录的日志项,包涵数据库表中所有数据,那么,就可以恢复本地数据库的全部数据了 )而这个二进制日志,如果用作远程数据库恢复,那就是 replication 了。这就是使用 replication 而不用 sync 的原因。这也是为什么要设置 bin-log = 这个选项的原因。在同步过程中,最重要的同步参照物,就是同步使用那一个二进制日志文件,从那一条记录开始同步。下面的官方文档,说明如何安装与设置 mysql 同步操作,当然,英文版/doc/mysql/en/Replication_HOWTO.html以下是中文翻译:
 1. 首先,你应该有两个或两个以上的 mysql 数据库服务器,版本最好是在 3.3 以上 ( 当然啦,两个服务器不一定是两台机器,一台机器上安装两个 mysql 服务是可以的,同时,如果你对 mysql replication 原理十分精通的话,你甚至可以在一个 mysql 服务的两个不同数据库 database 之间作同步,看有没有需要了) 说明: 这两个服务器一般设置一个为 主服务器,或叫源服务器, master mysql server, 另一台或其他多台就是 replication slave 同步从服务器了。一台 slave 与多台 slave 设置方法是一样的,这样你就可以作类似数据库集群了
<FONT color=#. 设置可访问 mysql 帐号,操作以英文为准说明:2.1 mysql 帐号一般设置为限定 ip 访问,以保障安全性2.2 mysql 帐号一般在 master 与 slave 设置为相同帐号,同时是远程可访问2.3 特别注意,如果你用 linux / unix 操作系统,那一定要注意一下防火墙 firewall 有没有限制 mysql 远程访问,如果是,最好是打开远程访问端口,并作好访问 ip 限制2.4 由于 my.cnf 中要明文存储 mysql 帐号密码,请注意保护 my.cnf 不让其他用户访问到( 看来要向 mysql 说明下以后用密码存 passwd )
<FONT color=#. 第三步,当然是设置两个服务器要同步的数据库为同样的数据库了这里有一些技巧,包括 mysql 的 sql 指令说明下3.1 方法之一,就是英文说明中说的,先锁定数据库读写功能 ( 其实最好是停止 mysqld 服务,再作备份) 然后用 tar 备份数据库目录,转到 slave 服务器相同数据目录中   3.2 方法之二,使用 mysql studio 这样的实用工具,直接使用 mysql studio 的 backup database 工具把数据库同步   3.3 以上两种方法都是 master 数据库中有不少数据记录,按上两 种方法得到 master 与 slave 有相同数据库与数据记录。 而第三种方法,则是适合于新建数据库的情况,特别适合于 master 与 slave 在 my.cnf 已经设置好 replication 关系 (但 未指定 database 同步数据库 ) 的情况: 这就是使用 mysql 的 sql 语句 load table from master 与 lload table from master 可以从 master 数据库把表结构复制到 slave 数据库中,这样可以建立同步的表。load data from master 是从 master 数据库把数据导入到 slave 数据表中,条件是 master 从一开始安装运行就使用了 bin-log参数而保存有二进制日志
   技巧: 如果你使用 win2k 的 mysql 那么,你可以下载
出的官方 mysql administrator 实用程序,直接在 mysql administrator 中即可配置 master 与 slave ,同时也可以配置 query-cache 哟在 master 的 my.cnf ( 如果是 win32 那就是 my.ini ) 增加[mysqld]log-bin=database_bin_log#记录日志的数据库binlog-do-db=database#binlog-ignore-db=db_name //不记录日志的数据库server-id=1   注意,上面的 log-bin = 中的 等号 = 是不可少的
  在 slave 的 my.cnf 修改[mysqld]server-id=2 # 如果有多个 slave 就改为不重复的 id 就好,在mysql 4.1 中,这个已经取消了master-host=10.10.10.22master-user=backup #同步用户帐号master-password=1234master-port=3306master-connect-retry=60 #预设重试间隔60秒replicate-do-db=test # 告诉slave只做 test 数据库的更新bin-log = database_bin_log5. 检查 master 与 slave 配置状态,使用 与 这两个 SQL 指令即可在 master 与 slave 查看配置状态。这里有两个状态变量十分重要
  mysql > SHOW MASTER STATUS;+—————+———-+————–+——————+| File   | Position | Binlog_Do_DB | Binlog_Ignore_DB |+—————+———-+————–+——————+| mysql-bin.003 | 73  | test   | manual,mysql  |+—————+———-+————–+——————+注意 File 是 mysql-bin.003 而 position 是 73这个文件是对 test 这个 数据库的二进制日志记录,记录数据变化的当前记录条数是 73前面我们说过,二进制日志记录着某个数据库所有数据记录变化的 sql 操作语句,如 insert / update / delete 等,正是因为如此,在 slave 同步 mysql 数据库操作时,其实是读取master 中这个 mysql-bin.003 二进制日志中的 sql 操作,同在 slave 中执行这些 sql 操作,所以,同步成功有以下几个条件1. master 与 slave 有相同的数据库表结构,最好 database name 也一样 ( 可以设置为不一样的 database name)2. master 与 slave 有相同的初始数据记录,保证同步操作开始后两者数据一致3. master 必须使用 bin-log 二进制日志记录 ( 推荐 slave 也使用 bin-log )4. slave 是从 master 的 bin-log 是读取 sql 记录来同步,所以,从哪一条 log 开始读取很重要 ( 下面的第 7 条操作,就是保证 slave 能与 master 保持相同的记录读取,并读取正确的 bin-log 日志文件 )
<FONT color=#:在 slave 执行下面 sql 操作 (使主从数据同步,slave从master的点开始同步)mysql> CHANGE MASTER TO->  MASTER_HOST=’master_host_name’,->  MASTER_USER=’replication_user_name’,->  MASTER_PASSWORD=’replication_password’,->  MASTER_LOG_FILE=’recorded_log_file_name’,->  MASTER_LOG_POS=recorded_log_这里,把 上面的 redcorded_log_file_name 改为 mysql-bin.003 而 recorded_log_position 改为 73 (特别注意哟,这是关系关键)##################################
配置文件:
#日志文件的名称,这里可以制定日志到别的目录 如果没有设置则默认主机名的一个日志名称log-bin=myfk_bin_log#记录日志的数据库binlog-do-db=myfookoo#binlog-ignore-db=db_name //不记录日志的数据库max_binlog_size =
#日志的大小,超出会自动生成一个新的
log-bin=mysql-binserver-id=2master-host=172.17.10.19master-user=slavemaster-password=fookoo_MSmaster-connect-retry=60 #如果从服务器发现主服务器断掉,重新连接的时间差replicate-do-db=myfookoo #备份的数据库
阅读(5913) | 评论(0) | 转发(2) |
相关热门文章
给主人留下些什么吧!~~
请登录后评论。在 MySQL 中,插入(insert)一条记录很简单,但是一些特殊应用,在插入记录前,需要检查这条记录是否已经存在,只有当记录不存在时才执行插入操作,本文介绍的就是这个问题的解决方案。
MySQL 当记录不存在时插入(insert if not exists) 在 MySQL 中,插入(insert)一条记录很简单,但是一些特殊应用,在插入记录前,需要检查这条记录是否已经存在,只有当记录不存在时才执
MySQL 当记录不存在时插入(insert if not exists) 在 MySQL 中,插入(insert)一条记录很简单,但是一些特殊应用,在插入记录前,需要检查这条记录是否已经存在,只有当记录不存在时才执行插入操作,本文介绍的就是这个问题的解决方案。 在 MySQL 中,插入(insert)一条记录很简单,但是一些特殊应用,在插入记录前,需要检查这条记录是否已经存在,只有当记录不存在时才执行插入操作,本文介绍的就是这个问题的解决方案。 问题:我创建了一个表来存放客户信息,我知道可以用 insert 语句插入信息到表中,但是怎么样才能保证不会插入重复的记录呢? 答案:可以通过使用 EXISTS 条件句防止插入重复记录。 示例一:插入多条记录 假设有一个主键为 client_id 的 clients 表,可以使用下面的语句: 复制代码 代码如下: INSERT INTO clients (client_id, client_name, client_type) SELECT supplier_id, supplier_name, 'advertising' FROM suppliers WHERE not exists (select * from clients where clients.client_id = suppliers.supplier_id);
示例一:插入单条记录 复制代码 代码如下: INSERT INTO clients (client_id, client_name, client_type) SELECT 10345, 'IBM', 'advertising' FROM dual WHERE not exists (select * from clients where clients.client_id = 10345);
使用 dual 做表名可以让你在 select 语句后面直接跟上要插入字段的值,即使这些值还不存在当前表中。当前位置: >
> 告诉你如何使用mySQL-Front导出及导入MYSQL数据库
告诉你如何使用mySQL-Front导出及导入MYSQL数据库
导读:很多朋友使用空间管理的phpmyadmin导出和导入数据库出现这样或那样的问题,有的更不习惯使用phpmyadmin,这里介绍款软件mysql-front远程导出和导入数据库,使用软件前,请联系客服开数据库远程功能。1、打开软件,安装后图标如下:
很多朋友使用空间管理的phpmyadmin导出和导入数据库出现这样或那样的问题,有的更不习惯使用phpmyadmin,这里介绍款软件mysql-front远程导出和导入数据库,使用软件前,请联系客服开数据库远程功能。
1、打开软件,安装后图标如下:
2、设置远程连接数据库
A、新建一个登录。
信息栏中随便写一下名字。标识你的登录信息。
B、点击连接栏,分别填好:
服务器:服务器的IP
端 口:一般为3306
C、点击注册栏,分别填好:
用 户:你申请的数据库的用户名(如果是本地一般为root),
密 码:数据库的密码(本地为空)
数据库:你申请的数据库名。
填写好这些信息后点击&确定&这样就能链接到你的远程数据库了。如下图,左边这个远程数据
服务器的一些数据库,点击你的数据库后等待链接。直至返回所有数据,你便能打开你的数据库
中的数据表了。在这里你可以修改你的数据表结构,删除填加数据等(小心操作)。
D、右键点击你的数据库进行备份(输出)数据,有几种备份的类型,一般选sql,
等待导出完毕即可。
导入跟导出方法是一样的,只是在D部不是选择输出,而是选择输入而已。
¥27500.00
¥21600.00
¥25080.00
其他资源->
Copyright @ 2006- 版权所有 ICP经营许可证号
存储第一站,存储门户,存储在线交流平台

我要回帖

更多关于 我老婆偷看了我微信 的文章

 

随机推荐