编译安装的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、转移数据库文件路径

#cd /

#mv data/ /opt/

5、启动mysql,成功启动

这里warning只是个提示,不是数据库的报错,执行下面命令

#systemctl daemon-reload

即可解决

检查数据库日志看看有什么异常报错不

没异常报错,可以正常使用了。

原文地址:https://blog.51cto.com/14483703/2486188

时间: 2024-10-09 19:12:44

编译安装的mysql如何更改文件路径的相关文章

CentOS 6.5下编译安装httpd+mysql+php+phpMyAdmin

CentOS 6.5下编译安装httpd+mysql+php+phpMyAdmin+cacti+nagios 一.安装环境 Linux系统:CentOS 6.5 Apache版本:http-2.4.12 MySQL版本:MySQL 5.6.24 PHP版本:PHP-5.6.8 基本的安装顺序为:先安装httpd,然后安装mysql,最后安装PHP. 软件包: [[email protected] httpdbao]# ll total 334908 -rwxrw-rw-. 1 root root

马哥学习笔记七——LAMP编译安装之MYSQL

1.准备数据存放的文件系统 新建一个逻辑卷,并将其挂载至特定目录即可.这里不再给出过程. 这里假设其逻辑卷的挂载目录为/mydata,而后需要创建/mydata/data目录做为mysql数据的存放目录. 2.新建用户以安全方式运行进程: # groupadd -r mysql # useradd -g mysql -r -s /sbin/nologin -M -d /mydata/data mysql # chown -R mysql:mysql /mydata/data 3.安装并初始化my

centos 6.3 编译安装 nginx +mysql + php

一篇文章是对另一篇文章的整理,作为记录收藏 1,配置防火墙,开启80端口.3306端口 配置iptables,开启80端口.3306端口 vi /etc/sysconfig/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT #允许80端口通过防火墙 -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT #允许3306端口

Centos 6.5 安装 Mysql 后更改存储路径问题

问题: [Warning] Can't create test file xxx.lower-test[Warning] Can't create test file xxx.lower-testusrlibexecmysqld Can't change dir to 'xxx' (Errcode 13) 解决方案: 第一.selinux,安装redhat(很古老的操作系统么...)的时候,有这么一个选项,通常大家都听取前辈的建议,改变默认值以不安装它.但如果你恰好要操作的这台机器开着selin

linux 基础学习编译安装php+mysql+python3+memcached+radis+rabbitmq+libevent+tcl+gcc+erlang

CentOS 6.9 编译安装 Nginx+PHP+MYSQL 0x01 环境约束 源码位置 /home/[用户文件夹] 源码编译安装位置  /usr/local/[软件名] CentOS6.9 x86 - 64 最小化安装 配置好网络 用户 使用Xshell登录 0x02 软件下载 内网地址: http://192.168.20.252/src/php.tar.gz http://192.168.20.252/src/cmake.tar.gz http://192.168.20.252/src

CentOS 6.0最小化编译安装Nginx+MySQL+PHP+Zend

http://www.osyunwei.com/archives/235.html 引言: 操作系统:CentOS 6.0 32位         下载地址:http://mirrors.163.com/centos/6.0/isos/i386/CentOS-6.0-i386-bin-DVD.iso         安装方式:采用最小化安装,在安装系统的时候选择Minimal(CentOS 6.0默认就是Minimal安装模式,不含有任何可选安装包)         最小化安装完成之后,系统占用

CentOS6.6 32位 Minimal版本纯编译安装Nginx Mysql PHP Memcached

CentOS是红帽发行的免费的稳定Linux版本,在企业服务器应用中都会选用Minimal版本,因为Minimal是CentOS"最纯洁"的服务器系统,因为Minimal版本连vim编辑器都需要自己安装,Minimal组件最少,无桌面,扩展灵活,非常适合做服务器. 1.配置网卡 Minimal版本的CentOS被安装后,网卡驱动默认是down状态,需要手动激活,在连接好网线后需要执行命令: [[email protected] soft]# vi /etc/sysconfig/netw

CentOS 7.0编译安装Nginx+MySQL+PHP

转自http://www.centoscn.com/CentosServer/www/2014/0904/3673.html 准备篇: CentOS 7.0系统安装配置图解教程 http://www.centoscn.com/image-text/setup/2014/0724/3342.html 一.配置防火墙,开启80端口.3306端口 CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop fi

CentOS 7编译安装Nginx+MySQL+PHP

一.配置防火墙,开启80端口.3306端口 CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop firewalld.service #停止firewall systemctl disable firewalld.service #禁止firewall开机启动 2.安装iptables防火墙 yum install iptables-services #安装 vi /etc/sysconfig/ip