MySQL数据库从windows迁移到linux

前几天搭建了lamp环境,想把之前写的小东西迁到linux上运行,涉及到把mysql数据库的文件迁移到linux上,直接用fileZilla传过去应该不行,我试了下,反正没成功。下面是我采用的方法:

(一)用mysqldump命令导出数据库文件:

在windows下cd到Mysql的bin目录:

c:/data.txt这个目录和导出的文本名可以自己随便取,-B 后面的是表名,我要导出的表明叫user。输入密码之后,就可以去保存的目录下看看有没有数据文件了,有的话就成功了,感觉可能失败的地方就是没有cd到mysql的bin目录下或者是路径写错了还有最可能出错的是没有以管理员权限运行,会出现Errcode: 13 - Permission denied。

(二)用fileZilla把data.txt文本文件传到Linux上去:

这个很简单,就不用截图了

(三)打开linux,进入到Mysql,迁进数据库:

建议在迁进数据库之前先看看数据库的编码格式,不然会造成数据里面的中文变成乱码


结果是这样就是正确的,因为mysql默认的编码格式是Latin1。
修改编码格式是在etc目录下的my.cnf里面修改,如图:

添加这几个地方:
[mysqld]
character-set-server=utf8
collation_server=utf_general_ci
init_connect=‘SET NAMES utf8‘
[client]
default-character-set=utf8
然后重启mysql服务,进入mysql,用show variables like "%char%";命令查看编码即可。
确认是utf8编码之后,就可以开始迁移数据库文件了。

source命令后面是用fileZilla传到linux上文本文件的位置。做完以上步骤,数据库迁移就完成了。

                </div>
时间: 2024-08-03 14:14:54

MySQL数据库从windows迁移到linux的相关文章

将mysql数据从Windows迁移到Linux中

1.先在windows上将数据都导出一个文件.(这里以某个数据库为例) 导出整个数据库 mysqldump -u 用户名 -p密码 数据库名 > 导出的文件名 导出指定表 mysqldump -u 用户名 -p密码 数据库名 表名1 表名2 ... > 导出的 文件名 2.将数据从Windows拷贝到Linux中. 3.登录Linux的MySql数据库 4.创建与windows同名的数据库名. mysql> create database qt; 查看字符集是否与windows一致,不一

oracle11g windows迁移至linux

原创cube_six_hujw 最后发布于2018-03-02 11:46:06 概述:跨操作系统平台数据库迁移,windows to linux 步骤记录: 实验步骤: (一).linux平台安装好数据库软件及配置好监听: (二).备份windows数据库: (三).linux平台进行数据库恢复操作: (四).linux平台进行数据库恢复后的相关操作: windows 备份数据库: run {configure device type disk parallelism 4;backup dat

MySQL数据库企业级应用实战(Linux运维必学) 套餐上线了。

为了满足广大运维朋友的要求,国内运维界顶尖实战加教育专家老男孩老师亲自主讲的 MySQL数据库企业级应用实战(Linux运维必学)上线了 http://edu.51cto.com/roadmap/view/id-66.html 本套餐一共16套核心DBA课程,祝你掌握运维人员需要掌握的数据库核心重点知识,春节前优惠发布(节后会恢复原价),想掌握DBA的运维伙伴们请抓紧下手,学习课程只是一个连接纽带,选择一个好的优秀的导师,作为自己的前进指路灯,是成就自己的关键. 本课程100%企业实战积累的精华

mysql数据库安装路径迁移

系统:centos7.3数据库:mysql5.7 mysql数据库安装路径迁移之前,先停止业务. 一.停止数据库服务systemctl stop mysqld 二.查看服务器存储情况df -h 三.进入数据库默认安装目录cd /var/lib/mysql 四.查看mysql默认路径下文件大小du -h --max-depth=1 /var/lib/mysql 五.复制/var/lib/mysql到/data目录下cp -a /var/lib/mysql /data/ 六.进入/etc目录,备份m

Mysql从Windows迁移到Linux,遇到的坑

最近有个项目从Windows上迁移到Linux上,数据库在迁移成功,但是项目无法启动 [BPM] 2018-09-23 17:04:52 ERROR [localhost-startStop-1] ContextLoader.initWebApplicationContext(307) | Context initialization failed org.springframework.beans.factory.BeanCreationException: Error creating be

MySQL数据库数据信息迁移

环境内核信息: [[email protected] ~]# uname -a Linux lodboyedu-01 2.6.32-696.el6.x86_64 #1 SMP Tue Mar 21 19:29:05 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux 备份数据库中的数据 [[email protected] tools]# /application/mysql/bin/mysqldump -u root -p123456 --all-databases

MySQL数据库跨分区迁移

一.需求分析MySQL数据库一主两备,但是未在同一个分区,所谓分区是指数据存放在不同的存储上,目的是防止存储故障导致数据丢失. 二.解决方案,数据迁移通过备库对数据进行迁移,不动主库,不影响业务.操作步骤如下: 1.备库停机 shutdown; 2.scp -r 传输数据库软件和数据文件及binlog等数据库相关文件 3.新备库参数调整 记住两个id,server_id和server_uuid,存放在my.cnf和auto.cnf文件中. 4.新备库启动 mysqld_safe --defaul

MYSQL大小写(由于数据由windows迁移到Linux导致)

今日从sqlserver上迁移了一个数据库到Linux的MySQL中,迁移成功了,但是应用却跑不通,查看日志发现,提示找不到表,我注意到,表名都是存在大小写的,而MySQL中的表名都是小写的.这提醒了我,莫非MySQL 中表名是大小写敏感的?一查果然如此.解决方案如下: 1.用ROOT登录,修改/etc/my.cnf 2.在[mysqld]下加入一行:lower_case_table_names=1 3.重新启动数据库即可 其中 lower_case_table_names=1 参数缺省地在 W

CentOS下mysql数据库data目录迁移

公司新上线一个资讯网站,独立主机,raid5,lamp架构.由于资讯网是面向小行业,初步估计一两年内访问量压力不大,故,在做服务器系统搭建的时候,只是简单分出一个独立的data区作为数据库和网站程序的专区,其他按照linux的默认分区.apache,mysql,php均使用yum安装(也尝试过独立编译安装,但现实使用中,发现不如yum方便快捷,当然如果是大型应用型网站,估计就不是简单的yum了) 由于yum安装mysql的时候,数据库的data目录默认是在/var/lib下,出于数据安全性的考虑