Mysql存储路径迁移

warning: 这篇文章距离上次修改已过466天,其中的内容可能已经有所变动。

走过多少路口,踏过多少坑,只有自己知道,哈哈……别人文档写的再好,不如自己试试悄悄,本文是我自己尝试得来的,以centos 7 为例,只做参考。
1、为什么要改数据库存储路径?
答:因为硬盘空间不够,防止不法分子来猜您数据库路径,考虑安全问题。
2、mysql路径改怎么改?
(1)、首先我们要知道默认mysql数据文件的默认路径,/var/lib/mysql**。
(2)、我们要知道mysql配置文件路径,/etc/my.cnf。
(3)、我们要了解mysql.sock的作用,简单的说是前段与数据库连接作用的文件之一。
(4)、好了知道这些就好办了,如下步骤:
挂载新盘及创建目录

mkdir /公司缩写/mysql

停止数据库服务

systemctl status mariadb.service
systemctl stop mariadb.service

把数据库文件移动到新的存储位置

cp -rp /var/lib/mysql/ /公司缩写/mysql/

修改后的数据库配置文件

[root@iZkdZ ~]# cat /etc/my.cnf
[mysqld]
datadir=/公司缩写/mysql
#socket=/公司缩写/mysql/mysql.sock  可以不改,后边要做软连接
lower_case_table_names         = 1
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd
 
[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid
 
#
# include all files from the config directory
#
!includedir /etc/my.cnf.d

启动数据库

systemctl start mariadb.service 
systemctl status mariadb.service

新的登录数据库的命令,需要指定mysql.sock

mysql -uzabbix -p123456 -S /公司缩写/mysql/mysql.sock  前面配置文件若注释本条可不用

创建软链接,否则,zabbix页面无法打开

mkdir /var/lib/mysql
ln -s /公司缩写/mysql/mysql.sock /var/lib/mysql/mysql.sock

在这一步之前,我是把原始的/var/lib/mysql目录改名为/var/lib/mysql_ori。所以,会有创建/var/lib/mysql的命令。在下面确认重启zabbix服务端没有问题,web界面可以正常打开。我才把原始的/var/lib/mysql目录移动到/tmp目录,后来又移动到公司默认的目录,作为备份存放。
重启zabbix

systemctl restart zabbix-server.service
最后修改于:2023年08月13日 14:54

添加新评论

选择表情