在windows环境中,如果mysql已有数据目录,进行数据迁移,可以通过直接拷贝数据文件的方式实现。下面是详细步骤
1 下载安装一个同版本的mysql数据库
到mysql官网下载MySQL安装文件,以下是mysql官网地址
https://downloads.mysql.com/archives/installer/
根据需要选择对应版本,然后下载离线安装包。
Msi的文件下载后,直接双击安装即可,可以均采用默认方式进行安装,不做选择直接点下一步,其中需要设置root的密码,可以输入一个容易记住的密码。
安装成功后mysql会自动运行,在计算机的服务中能够看到mysql启动的进程。
通过navicat等工具可以正常访问数据库。
2 拷贝数据目录
2.1 查看mysql安装后的数据目录。默认安装,我的mysql数据文件在C:\ProgramData\MySQL\MySQL Server 5.7目录下,其中涉及到数据目录就是data。
2.2 在服务中停止mysql
选择mysql57服务,点击右键,选择停止。Mysql的状态由正在运行变成了自动,这时候mysql服务就停止了。
2.3 将需要迁移的数据文件拷贝到mysql的数据安装目录的data目录下。
将需要迁移的数据库中data文件夹下,除了mysql,performance_schema,sys等mysql自带数据文件夹以外的文件夹,如图的main,quartz文件夹以及ibdata1文件拷贝到对应的C:\ProgramData\MySQL\MySQL Server 5.7\data中,其中ibdata1文件需要覆盖。
2.4 启动mysql,连接数据库。
在服务中找到mysql服务,右键点击,选择启动,等mysql启动后,使用navicat连接mysql数据库。可以看到main,quartz这4个数据库都能够读取出来了。
3 小结
对于mysql数据文件的迁移,首先需要有一个纯净的mysql系统,一般就是新安装一个,然后将需要迁移的数据也就是data目录下除了mysql自带文件夹以外文件夹,都拷贝到新安装的mysql的data目录下,很重要的一点,就是迁移数据中的ibdata1文件也需要拷贝。
MySQL 8.0中的数据字典,通过对两级缓存的逐级访问,以及精妙的对缓存未命中情况的处理方式,有效的加速了在不同场景下数据库对DD的访问速度,显著的提升了数据库访问元数据信息的效率。