编译安装的mysql如何更改文件路径-Zabbix_Z大叔的博客
source link: https://blog.51cto.com/14483703/2486188
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
编译安装的mysql如何更改文件路径
场景:小张在巡检时发现公司一台数据库经常写不入数据,于是登录数据库所在的主机一看,原来是数据库对应的50G磁盘分区满了,而主机上还有另外一个500G的磁盘分区没在用,于是小张请示完领导后,准备将数据库的日志等占空间的文件位置更换到更大的那个分区。
(PS:本环境为单机环境,主备环境或主主环境操作会有所不同)
1、首先是解决掉磁盘分区空间用完的情况并备份数据库,小张删除了改磁盘分区下的几个安装包文件,再进入数据库清理下binlog日志:
登录数据库,执行:
reset master;
退出数据库
#mysqldump -u 用户 -p密码 --all-databases | gzip > /opt/backup.sql.gz
PS:在动数据库之前切记备份,以免发生意外事故
2、确定mysql具体安装路径,各个文件的位置。
#ps -ef | grep mysql
查看etc下的my.cnf文件,由于数据库是编译安装的,日志等文件位置都设置在/data下
#cat /etc/my.cnf | grep data/mysql
datadir=/data/mysql/data #mysql数据库文件所在目录
tmpdir=/data/mysql/data #mysql数据库临时文件目录
log-error=/data/mysql/log/error.log
general_log_file=/data/mysql/log/general_log.log
log_bin= /data/mysql/binlog/mysql-bin.log
relay_log= /data/mysql/binlog/mysql-relay-bin.log
slow_query_log_file=/data/mysql/log/slow.log #慢查询日志
innodb_data_home_dir = /data/mysql/data #这是InnoDB表的目录共用设置。
innodb_log_group_home_dir = /data/mysql #InnoDB 日志文件的路径。
3、停用mysql,编辑my.cnf更改路径位置,这里更改为/opt下
#service mysqld stop
更改前文件指定位置如下:
#cat /etc/my.cnf | grep data/mysql
datadir=/data/mysql/data #mysql数据库文件所在目录
tmpdir=/data/mysql/data #mysql数据库临时文件目录
log-error=/data/mysql/log/error.log
general_log_file=/data/mysql/log/general_log.log
log_bin=/data/mysql/binlog/mysql-bin.log
relay_log= /data/mysql/binlog/mysql-relay-bin.log
slow_query_log_file=/data/mysql/log/slow.log #慢查询日志
innodb_data_home_dir = /data/mysql/data #这是InnoDB表的目录共用设置。
innodb_log_group_home_dir = /data/mysql #InnoDB 日志文件的路径。
更改后文件指定位置如下:
cat /etc/my.cnf | grep data/mysql
datadir=/opt/data/mysql/data #mysql数据库文件所在目录
tmpdir=/opt/data/mysql/data #mysql数据库临时文件目录
log-error=/opt/data/mysql/log/error.log
general_log_file=/opt/data/mysql/log/general_log.log
log_bin = /opt/data/mysql/binlog/mysql-bin.log
relay_log = /opt/data/mysql/binlog/mysql-relay-bin.log
slow_query_log_file=/opt/data/mysql/log/slow.log #慢查询日志
innodb_data_home_dir = /opt/data/mysql/data #这是InnoDB表的目录共用设置。
innodb_log_group_home_dir = /opt/data/mysql #InnoDB 日志文件的路径。
还需要修改/etc/init.d/mysqld这个文件跟mysql-bin.index里的内容,将路径/data/mysql/data修改为/opt/data/mysql/data
#cat /etc/init.d/mysqld | grep data/mysql
datadir=/opt/data/mysql/data
#vim /opt/data/mysql/binlog/mysql-bin.index
/opt/data/mysql/binlog/mysql-bin.000001
4、转移数据库文件路径
#mv data/ /opt/
5、启动mysql,成功启动
这里warning只是个提示,不是数据库的报错,执行下面命令
#systemctl daemon-reload
检查数据库日志看看有什么异常报错不
没异常报错,可以正常使用了。
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK