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