mysql 数据库迁移
公司服务器的数据库是 mysql 5.6.27.
我笔记本上有1个mysql 5.1.28-rc-community 和 2个 mysql 8.0.19 服务。
公司的数据库data目录下的文件直接copy到笔记本上,无论是哪个版本都看不到表,报错:表不存在
无奈之下,我只能手动到服务器上把公司的mysql 安装目录下bin , lib, share 三目录压缩打包拿到笔记本 (300M左右)
为什么不拿data目录呢?因为有100G啊,我只要一个库里的几个表里的数据而言,大概300M吧。
新建目录 E:\mysql56\ , 把所有的文件都解压到此。
新建data目录,把公司数据库 resoucepath.zip 解压到data里。 变成了 E:\mysql56\data\resourcepath\ (里面有很多数据库表原始文件 *.frm , *.MYD , *.MYI , *.TRG)
my.ini 复制过来改成 这样以下这样,(注意:默认端口3306 , 3307 ,3308 已经被我之前3个服务占用了)所以,这里我改成3309
[mysqld]
port = 3309
basedir =”E:\mysql56″
datadir =”E:\mysql56\data”
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
character-set-server=utf8mb4
[client]
loose-default-character-set=utf8mb4
default-storage-engine=INNODB
[WinMySQLadmin]
Server = “E:\mysql56\bin\mysqld.exe”
安装.bat
net stop MySQL56
sc delete MySQL56
E:\mysql56\bin\mysqld install MySQL56 –defaults-file=”E:\mysql56\my.ini”
net start MySQL56
@pause
至此,鼠标右键 管理员运行 安装.bat . 服务是安装成功了,但启动报错. 为什么?
data目录里缺少了mysql 库,到公司服务器的安装目录找到c:\program files\mysql56\data\mysql
把mysql文件夹打包拿过来放data目录里。
再次 安装.bat , 运行成功。 用SQLyog登陆3309端口 , root , 空密码 , 查看公司的数据库resourcepath , 能看到了,完美。
总结:mysql本来是绿色的软件,并不需要 安装包来安装,只需要把目标电脑的 安装目录的相应文件
拿到新的电脑里,修改my.ini 用上面的安装命令就能安装。