假如要把目录移到/home/data下需要进行下面几步:
1、home目录下建立data目录
cd /home
mkdir data
2、把MySQL服务进程停掉:
mysqladmin -u root -p shutdown
3、把/var/lib/mysql整个目录移到/home/data
mv /var/lib/mysql /home/data/
这样就把MySQL的数据文件移动到了/home/data/mysql下
4、找到my.cnf配置文件
如果/etc/目录下没有my.cnf配置文件,请到/usr/share/mysql/下找到*.cnf文件,拷贝其中一个到/etc/并改名为my.cnf)中。命令如下:
[root@test1 mysql]# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
5、编辑MySQL的配置文件/etc/my.cnf
为保证MySQL能够正常工作,需要指明mysql.sock文件的产生位置。 修改socket=/var/lib/mysql/mysql.sock一行中等号右边的值
#vi my.cnf
# The MySQL server
[mysqld]
port = 3306
#socket = /var/lib/mysql/mysql.sock ##原内容,为了更稳妥用“#”注释此行
socket = /home/data/mysql/mysql.sock #加上此行
如果客户端也装在一台机器上还要修改客户端的配置和上面的是一样的
6、修改MySQL启动脚本/etc/rc.d/init.d/mysql
[root@test1 etc]# vi /etc/rc.d/init.d/mysql
#datadir=/var/lib/mysql##注释此行
datadir=/home/data/mysql
7、重新启动MySQL服务
/etc/rc.d/init.d/mysql start
或用reboot命令重启Linux
8 .测试:命令:mysql -u root -p 能正确进入数据库,并显示数据库内容表示迁移成功.
ubuntu下数据迁移略有区别,如下:
1.设置新的存放路径
- mkdir -p /data/mysql
2.复制原有数据
- cp -R /var/lib/mysql/* /data/mysql
3.修改权限
- chown -R mysql:mysql /data/mysql
4.修改配置文件
- vim /etc/mysql/my.cnf
- datadir = /data/mysql
5.修改启动文件
- vim /etc/apparmor.d/usr.sbin.mysqld
#把
- /var/lib/mysql r,
- /var/lib/mysql/** rwk,
#改成
- /data/mysql r,
- /data/mysql/** rwk,
6.重启服务
重启apparmor
- /etc/init.d/apparmor restart
- /etc/init.d/mysql restart
转载随意~:陶醉 » MySQL DATA的迁移