把Mysql的数据文件移动到新目录。安装mysql默认数据库目录是在系统盘(/var/lib/mysql),这样数据库一多将系统盘用满就会使得mysql出问题。一般云服务器有2个盘,一个系统盘一个数据盘,数据盘一般没分区,需要自己手动分区、格式化、和挂载,才能使用。我们就将数据库转移到数据盘去,来扩大数据库使用大小。
在数据库安装后怎么迁移数据库目录(/var/lib/mysql)到挂载盘数据盘,首先我们要对数据盘分区/格式化和挂载到目录,详细方法如下:
给数据盘磁盘分区、格式化(会删除数据盘所有数据)、挂载:
mkdir -p /www //这个是建立数据盘的挂载目录,可以根据你自己需要建立挂载目录
fdisk -l //查看磁盘信息,可以看到/dev/sdb和/dev/xvdb
fdisk /dev/sdb //或xvdb,根据上面来的
n
p
1 //分区号,输入1创建后数据盘的分区就是/dev/sdb1,如果有多个数据盘这里可能就是2之类的
回车
回车
wq
fdisk -l //查看新的磁盘信息,已经看到/dev/sdb1
mkfs.ext4 /dev/sdb1 //格式化
echo "/dev/sdb1 /www ext4 defaults 0 0" >> /etc/fstab
mount -a //重新挂载所有分区
df -h //看到/dev/sdb1 … /www 就说明数据盘挂载成功了
service mysqld stop //停止mysql
vi /etc/my.cnf
修改datadir=/www/mysql和socket=/www/mysql/mysql.sock
:wq //修改配置文件后保存
修改MySQL启动脚本:
vi /etc/init.d/mysqld
修改get_mysql_option mysqld datadir "/www/mysql"
通过`yum`安装的还需要修改:
vi /usr/lib64/mysql/mysql_config
修改ldata='/www/mysql'和socket='/www/mysql/mysql.sock'
搬迁数据到新的数据库目录:
cp -r /var/lib/mysql /www/mysql
//把MySQL的数据库文件夹拷贝到/www下并将文件夹改名为mysql(实际上文件夹名相同);注意原/www下不要有mysql文件夹,如果迁移前/www下已经有mysql文件夹,那么迁移后就变成了/www/mysql/mysql;如果原来已经存在/www/mysql文件夹,我们的复制命令就是cp -r /var/lib/mysql /www
如果只是迁移转移数据库(非复制拷贝),就用mv命令,可节省原数据库磁盘的空间,也就是mv /var/lib/mysql /www
修改新数据库目录的权限(改变数据库的归属为mysql):
chown -R mysql:mysql /www/mysql/
mysqld_safe &
特别说明:下面的所有服务器为独立物理服务器,不是虚拟的云主机(云服务器、VPS)
香港、韩国、日本、美国、台湾、新加坡、菲律宾等境外服务器由机房直供(一手资源,价格最低),我公司只是代购,请自行遵守中国法律和服务器所在地的法规,勿用于违法犯罪用途,做什么用途虽然机房不过问,但是如果您私自做违法用途请自担责任!需要租用服务器请联系QQ16764407或微信18988993510













