1.首先格式化磁盘,并将数据盘挂载在mnt目录下
mkdir -p /mnt/data
2.用mysqldump命令导出您项目所有的数据,命令参考如下:
mysqldump -p --all -datebases>all.sql
3.停止mysql
/etc/init.d/mysqld stop
4.vim/etc/init.d/mysqld 将文件中“datadir = /server/mysql/data”中的目录地址更改为您迁移至数据盘中的目录地址,即“datadir=/mnt/data”。
5.然后用以下命令初始化一个全新的数据库环境:
/server/mysql/scripts/mysql_install_db --basedir =/server/mysql--datadir = mnt/data -- user =mysql
值得注意的是datadir为您mysql的数据目录。
6.启动mysql,然后将数据还原至新的数据盘中:
/etc/init.d/mysqld start
mysql <all.sql
/etc/init.d/mysqld restart
首先说明本人只测试了40G的东西。大于40G的还没有测试。
在上传之前我们需要将my.ini修改一个参数max_allowed_packet.将参数设置为max_allowed_packet=100000M。1M=1024*1024。以此类推。1G=...。
不经过此设置可能会发生以下问题:MySQL server has gone away .出现这个问题的原因是因为client端和mysql server端断开了。一般是 *** 作sql文件时间过长导致的。
设置好之后重启
这里我经过测试:max_allowed_packet最大只能设置为1G=10737418248/1024/1024/1024.
查看max_allowed_packet命令为如下:
下面开始使用命令行来上传sql文件。
一、进入mysql的bin目录下
二、执行如下语句
mysql -uroot -p 数据库 <sql所在目录
提示输入密码即可导入大数据量的sql文件。
三、如何检验文件是否在上传或者文件是否已经传完毕。打开您的mysql管理工具(比如navicat)。按F5看对应的库记录和大小或者上次更新时间是否在变化就好了。
四:上传过程可能比较漫长。上传完毕
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)