Linux Mysql如何移动MySQL数据库目录位置?

Linux Mysql如何移动MySQL数据库目录位置?,第1张

假如要把目录移到/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一行中等号右边的值为:/home/mysql/mysql.sock 。 *** 作如下:

vi  my.cnf  (用vi工具编辑my.cnf文件,找到下列数据修改之)

# The MySQL server

[mysqld]

port = 3306

#socket  = /var/lib/mysql/mysql.sock(原内容,为了更稳妥用“#”注释此行)

socket  = /home/data/mysql/mysql.sock (加上此行)

6、修改MySQL启动脚本/etc/init.d/mysql

最后,需要修改MySQL启动脚本/etc/init.d/mysql,把其中datadir=/var/lib/mysql一行中,等号右边的路径改成你现在的实际存放路径:home/data/mysql。

[root@test1 etc]# vi /etc/init.d/mysql

#datadir=/var/lib/mysql(注释此行)

datadir=/home/data/mysql (加上此行)

7、重新启动MySQL服务

/etc/init.d/mysql start

或用reboot命令重启Linux

如果工作正常移动就成功了,否则对照前面的7步再检查一下。还要注意目录的属主和权限。

如果对MySQL比较熟悉,那么可以使用MySQL异机迁移的方法:

先确定MySQL的运行系统、发行版、版本号,以前的配置文件。

根据以上信息在Docker环境下新建一台全新的MySQL。

根据业务需要实施停机迁移/在线迁移,将数据迁入Docker内的MySQL。

停机迁移:直接拷贝数据文件(物理迁移)、全量Dump导出(逻辑备份迁移)、xtraback备份(物理备份迁移)

在线迁移:将新库作为从库加入集群,完成同步后fo切换,原主库下线。

如果对Docker比较熟悉,可以使用Docker整机迁移的方法:

整机虚拟化直接作为一个镜像在Docker内运行。

这种方法虽然简单,但过程漫长而且运行时性能损耗非常大,也容易出问题,不是很推荐。

1、MySQL数据库导出 /usr/local/mysql/bin/mysqldump -u root -p123456 test>/home/backup/test.sql 其中:root为数据库用户名 123456为对应root数据库密码 test是需要导出的数据库名。 /home/backup/test.sql是数据库文件sql导出的路径。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7239426.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-03
下一篇 2023-04-03

发表评论

登录后才能评论

评论列表(0条)

保存