Windows 10环境下如何将MySQL 8.0和MongoDB 4.4数据库迁移至CentOS 8系统中

Posted 夏小悠

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Windows 10环境下如何将MySQL 8.0和MongoDB 4.4数据库迁移至CentOS 8系统中相关的知识,希望对你有一定的参考价值。

前言

  本文记录一下如何将Windows 10系统中的mysql 8.0和MongoDB 4.4数据库迁移至CentOS 8系统中。

1. MySQL

1.1 Windows 10环境下操作方法

  打开 MySQL Workbench 8.0 CE,然后依次Server-->Data Export

在这里插入图片描述
  然后将.sql脚本文件上传到服务器上,比如/data/weibo_data.sql

1.2 CentOS 8环境下操作方法

  首先要保证服务器上安装了MySQL,具体版本无所谓。

	# 安装最新的mysql版本,可以使用dnf(确保已安装)
	sudo dnf install @mysql
	
	# 如果想安装指定版本,可以按照以下方式进行安装
	# 下载MySQL官方的 Yum Repository
	wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
	# 安装
	yum -y install mysql57-community-release-el7-10.noarch.rpm
	yum -y install mysql-community-server

	# 启动MySQL
	systemctl start mysqld.service
	# 查看是否启动
	systemctl status mysqld.service

	# 如果是8.0以上的版本,默认密码为空,输入密码时直接回车就可以
	# 如果是其他版本,比如5.7,可以通过以下命令找到密码
	grep "password" /var/log/mysqld.log

	# 进入数据库
	mysql -u root –p
	# 更改密码
	ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';

  然后创建与Windows 10环境下MySQL数据库中同名的数据库,比如我的MySQL数据库中的数据库名为weibo

	# 创建同名数据库weibo
	create database weibo;
	# 执行.sql脚本恢复数据
	use test;
	set names utf8;
	source /data/weibo_data.sql

在这里插入图片描述

  在恢复的过程中有可能会出现ERROR 1273 (HY000): Unknown collation: 'utf8mb4_0900_ai_ci的错误提示,这是因为编码出现了异常,做一下更改即可解决:

  1. 找到.sql脚本文件并打开,比如我的是/data/weibo_data.sql
  2. 将文件中所有的utf8mb4_0900_ai_ci替换为utf8_general_ci
  3. 将文件中所有的utf8mb4替换为utf8
  4. 再次执行source /data/weibo_data.sql

  然后可以查一下数据是否正确:

	show tables;
	# yaowen是weibo数据库中的一个表
	select * from yaowen;

2. MongoDB

2.1 Windows 10环境下操作方法

  MongoDB数据库的备份与恢复可以使用mongodumpmongorestore,但是我搜索了一下我的安装路径,发现不存在。
在这里插入图片描述
  百度了一下说相关工具还需要在单独的下载,可以直接去官网下载,下载的是一个压缩包,解压后相关的工具如下:
在这里插入图片描述
  然后将其复制到MongoDB的安装路径下,我的是D:\\Program Files\\MongoDB\\Server\\4.4\\bin
在这里插入图片描述
  然后打开cmd,执行如下命令:

	# mongodump -d 数据库 -o 文件输出路径
	mongodump -d weibo -o E:\\Program\\Python\\Django\\WeiBo\\static\\data

  会生成一个名为weibo的文件夹:
在这里插入图片描述
  然后将其上传到服务器上。

2.2 CentOS 8环境下操作方法

  首先要保证服务器上安装了MongoDB。
  如果是腾讯云,阿里云之类的可以直接使用如下命令进行安装:

	# 创建一个新的存储库文件来启用MongoDB存储库
	sudo vim /etc/yum.repos.d/mongodb-org.repo
	
	# 写入内容
	[mongodb-org-4.4]
	name=MongoDB Repository
	baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.4/x86_64/
	gpgcheck=1
	enabled=1
	gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc

	# 保存并退出
	esc		:wq

	# 安装
	sudo yum install mongodb-org

	# 启动
	sudo systemctl start mongod

  然后直接使用mongorestore命令恢复数据:

	mongorestore -d weibo /data/weibo/

在这里插入图片描述
  如果是华为云服务器,就有一点点麻烦,由于架构不一样,所以需要下载指定的arm64版本的安装包,具体就百度一下吧,哈哈哈哈哈。
  百度云服务器也可以,就是命令终端太low了,就没很少用了。

结束语

  本次是毕设项目部署时的一次记录,由于抓取的数据都存在了本地的数据库上,为了方便答辩时演示,就将项目迁移到了服务器上。在迁移过程中也是遇到了诸多问题,比如数据库版本问题、系统架构问题以及相关数据库的备份与数据库的命令等等,经过一番百度也算是有所了解,继续努力!!!

以上是关于Windows 10环境下如何将MySQL 8.0和MongoDB 4.4数据库迁移至CentOS 8系统中的主要内容,如果未能解决你的问题,请参考以下文章

Windows环境下部署MySQL主从并模拟升级到8.0

windows10-nginx-mysql8.0-php7.0环境搭建

Windows 10下部署Java环境——jdk1.8.0_301版本

Windows10安装卸载Mysql步骤和方法

Mysql 8.0 导入txt文件操作(课程实验)

如何将查询结果导出到 Windows 机器 MySQL 8.0 中的 csv?