mysql数据库迁移到另一台电脑上

2024-06-11 20:58

本文主要是介绍mysql数据库迁移到另一台电脑上,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

解决办法

mysql要转换到另一台机器上面,最重要的要考虑以下几个问题

1、数据库使用什么存储引擎,如果是myisam的话,可以把data目录复制移走。但如果是innodb的话,千万不要用这种方法,会存在种种问题的。至于innodb引myisam的区别,百度一下详细点。

2、本地的操作系统是否引目标操作系统相同,如果是linux与windows之间的转移,因为平台的的不台,注意大小写表名字段的兼性。也可以在my.ini或者my.cnf中忽略大小写。

3、比较安全的做法,还是用mysqlmp的方法导出来,再用mysqlmp的方法导进去,这是一种比较保险安全兼性高的做法,请考虑。
实际操作实例:

 停止两个数据库的mysql服务,将A数据库中的data文件夹拷贝到B数据库中,B数据库事先把原有的data文件夹改名备份,然后再重启B数据库服务,(注意这时登录密码可能是A数据库的了,需要事先知道A数据库的密码,否则迁移完数据库登录不进去)

mysql数据库从一台服务器迁移到另一台服务器上

一、应用场景
      由于要把测试服务器上的数据库迁移到正式服务器上,因此需要做数据库的迁移。这里记录一下。

二、数据库迁移
1、新建数据库test

create database test;
1
2、进入数据库,创建数据表test

create table test1(id int(10) primary key, name varchar(30), age int(10));
1
3、生成.sql文件

(1)这里生成.sql文件,需要用到mysqldump,如果找到该命令的话,建立一个软连接到/usr/bin 下。例如,你的mysql 路径为:/usr/local/mysql,则执行
ln -fs /usr/local/mysql /usr/bin (PS:这里不需要进入到mysql执行命令)

(2)执行mysqldump命令

1)为某个数据库生成.sql文件

mysqldump -u 用户名 -p 数据库>你想要生成.sql文件的路径

2)只要数据库的表结构

mysqldump -u 用户名 -p -d 数据库>你想要生成.sql文件的路径

3)生成某个数据库下面对应某个表的表结构

mysqldump -u 用户名 -p -d 数据库名 表名>你想要生成.sql文件的路径

4)生成某个数据库下面对应某个表的表结构+表数据

mysqldump -u 用户名 -p -d 数据库名>你想要生成.sql文件的路径

我这里执行的命令是:

mysqldump -u xx -p pzsh>/home/pzsh/test.sql
1
然后去/home/pzsh下面看看,就会发现已经生成.sql文件了

4、使用ftp工具,把生成的.sql文件放到新服务器上去

(1)使用FTP工具下载.sql文件
(2)使用FTP工具把.sql文件上传到指定路径
(3)我这边是把.sql文件上传到新服务器的/home/pzsh目录下

5、导入到服务器

(1)进入到新服务器的mysql中

mysql -u 用户名 -p

(2)先创建数据库,按照.sql文件中的数据库名字。

create database test;

//进入到创建的数据库中
use test;
//查看当下的数据表
show tables;
//此时数据库中是没有任何表的
(3)执行source命令,导入.sql文件

source /home/pzsh/test.sql
(4)查看test数据库中的表

show tables;

此时发现我们已经把表都转移过来了。

6、如果两台服务器的数据库版本不兼容,则在root用户下执行下面的命令

mysql_upgrade -u root -p
1
输入密码即可。

end

//*********

导出单个数据库

mysqldump -u root -p database_name > outfile_name.sql

导出所有数据库

mysqldump -u root -p --all-databases > outfile_name.sql

导出数据库表

 

mysqldump -u root -p database_name table_name > outfile_name.sql

导入.sql文件

导入数据库

    mysql -u root -p 进入mysql  执行source  outfile_name.sql(包含存储路径)

    b. 导入数据库表

    mysql -u root -p 进入mysql 

    mysql>use database_name;

    mysql>source outfile_name.sql(包含存储路径)

以上是命令行方式,如果操作系统时windows,可以选择用mysql客户端工具,如Sqlyog操作导出数据和导入数据。

这篇关于mysql数据库迁移到另一台电脑上的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1052266

相关文章

电脑不小心删除的文件怎么恢复?4个必备恢复方法!

“刚刚在对电脑里的某些垃圾文件进行清理时,我一不小心误删了比较重要的数据。这些误删的数据还有机会恢复吗?希望大家帮帮我,非常感谢!” 在这个数字化飞速发展的时代,电脑早已成为我们日常生活和工作中不可或缺的一部分。然而,就像生活中的小插曲一样,有时我们可能会在不经意间犯下一些小错误,比如不小心删除了重要的文件。 当那份文件消失在眼前,仿佛被时间吞噬,我们不禁会心生焦虑。但别担心,就像每个问题

mysql索引四(组合索引)

单列索引,即一个索引只包含单个列,一个表可以有多个单列索引,但这不是组合索引;组合索引,即一个索引包含多个列。 因为有事,下面内容全部转自:https://www.cnblogs.com/farmer-cabbage/p/5793589.html 为了形象地对比单列索引和组合索引,为表添加多个字段:    CREATE TABLE mytable( ID INT NOT NULL, use

mysql索引三(全文索引)

前面分别介绍了mysql索引一(普通索引)、mysql索引二(唯一索引)。 本文学习mysql全文索引。 全文索引(也称全文检索)是目前搜索引擎使用的一种关键技术。它能够利用【分词技术】等多种算法智能分析出文本文字中关键词的频率和重要性,然后按照一定的算法规则智能地筛选出我们想要的搜索结果。 在MySql中,创建全文索引相对比较简单。例如:我们有一个文章表(article),其中有主键ID(

mysql索引二(唯一索引)

前文中介绍了MySQL中普通索引用法,和没有索引的区别。mysql索引一(普通索引) 下面学习一下唯一索引。 创建唯一索引的目的不是为了提高访问速度,而只是为了避免数据出现重复。唯一索引可以有多个但索引列的值必须唯一,索引列的值允许有空值。如果能确定某个数据列将只包含彼此各不相同的值,在为这个数据列创建索引的时候就应该使用关键字UNIQUE,把它定义为一个唯一索引。 添加数据库唯一索引的几种

mysql索引一(普通索引)

mysql的索引分为两大类,聚簇索引、非聚簇索引。聚簇索引是按照数据存放的物理位置为顺序的,而非聚簇索引则不同。聚簇索引能够提高多行检索的速度、非聚簇索引则对单行检索的速度很快。         在这两大类的索引类型下,还可以降索引分为4个小类型:         1,普通索引:最基本的索引,没有任何限制,是我们经常使用到的索引。         2,唯一索引:与普通索引

关于如何更好管理好数据库的一点思考

本文尝试从数据库设计理论、ER图简介、性能优化、避免过度设计及权限管理方面进行思考阐述。 一、数据库范式 以下通过详细的示例说明数据库范式的概念,将逐步规范化一个例子,逐级说明每个范式的要求和变换过程。 示例:学生课程登记系统 初始表格如下: 学生ID学生姓名课程ID课程名称教师教师办公室1张三101数学王老师101室2李四102英语李老师102室3王五101数学王老师101室4赵六103物理陈

数据库期末复习知识点

A卷 1. 选择题(30') 2. 判断范式(10') 判断到第三范式 3. 程序填空(20') 4. 分析填空(15') 5. 写SQL(25') 5'一题 恶性 B卷 1. 单选(30') 2. 填空 (20') 3. 程序填空(20') 4. 写SQL(30') 知识点 第一章 数据库管理系统(DBMS)  主要功能 数据定义功能 (DDL, 数据定义语

【服务器运维】MySQL数据存储至数据盘

查看磁盘及分区 [root@MySQL tmp]# fdisk -lDisk /dev/sda: 21.5 GB, 21474836480 bytes255 heads, 63 sectors/track, 2610 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical)

给数据库的表添加字段

周五有一个需求是这样的: 原来数据库有一个表B,现在需要添加一个字段C,我把代码中增删改查部分进行了修改, 比如insert中也添入了字段C。 但没有考虑到一个问题,数据库的兼容性。因为之前的版本已经投入使用了,再升级的话,需要进行兼容处理,当时脑子都蒙了,转不过来,后来同事解决了这个问题。 现在想想,思路就是,把数据库的表结构存入文件中,如xxx.sql 实时更新该文件: CREAT

SQL Server中,查询数据库中有多少个表,以及数据库其余类型数据统计查询

sqlserver查询数据库中有多少个表 sql server 数表:select count(1) from sysobjects where xtype='U'数视图:select count(1) from sysobjects where xtype='V'数存储过程select count(1) from sysobjects where xtype='P' SE