背景及唠叨:单位在15年年底购买了一台Fortigate的UTM(Fortigate 200D),本来就是冲着其有fortiguard以及FortiAnalyer,以为可以轻松加愉快地管理以及做网络情况的报告,谁知道一切都是要额外交钱的!!(NND那买你的设备还能干什么!)而且还死贵死贵(fortiguard一年大概要8K软妹币),幸苦,UTM上将日志发送去Syslog的功能还是不用收费的(吐槽一下,虽然说明文档上的截图上可以见到,在图形化界面上有这个功能,但是实际上是找不到的,有要跑去命令行那才能实现,凸-_-凸)。无奈,唯有自己手工去收集处理数据。于是,自己搭服务器,自己写ETL,自己去弄JasperReport.....那么为什么要写这篇日志呢?就是因为在实际搭建服务器过程中,想将MariaDB(Mysql)的日志文件,放在服务器上另外挂载的一个大硬盘,经过百度,Mariadb官网,发现网络上普遍的教程都漏了最最重要的内容,于是就有了本文.
------------------------------------------------华丽的分割线--------------------------------------------------------------------
环境及准备:1.Centos 7(Centos 6也可)
2.MariaDB(Mysql)
3.semanage(Centos7如果最小安装的话,默认是没安装这个命令的,如果没有安装,请执行:
yum -y install policycoreutils-python
)
------------------------------------------------华丽的分割线 X2----------------------------------------------------------------
步骤: 1.确保MariaDB是关闭的,执行:
(Centos7):systemctl stop mariadb.service
(Centos6):service mysql stop
2.创建存放数据库文件的目录(举个栗子:/home/data),执行:
mkdir /home/data
3.MySQL的数据文档复制到新目录下,执行:
cp -r /var/lib/mysql/* /home/data/
4.修改新目录的用户和用户组属性,执行:
chown -R mysql:mysql /home/data/
5.编辑mariadb的配置文档,加上新的配置。
(在这里又得吐槽一下,网上的教程好像约好似的,都去修改/etc/my.cnf,但是在实际操作中,/etc/cnf内几乎没有内容,其inculd了目录/etc/my.cnf.d/下的所有文件,用意是将server,client等不同的配置分开,便于管理,我就不明白为什么都不去修改/etc/my.cnf.d/下的相应文件,虽然直接修改/etc/my.cnf效果都一样)
1).(CentOS7)修改/etc/my.cnf.d/client.cnf文件,在[client]下添加:
socket=/home/data/mysql/mysql.sock
2).(CentOS7)修改/etc/my.cnf.d/server.cnf文件,在[mysqld]下添加:
socket=/home/report/data/mysql/mysql.sock
datadir=/home/report/data
(Centos6下也差不多,好像都在/etc/my.cnf.d/server.cnf文件内,反正找回对应的标记,在下面添加相应的内容就好了)
网络上的教程就到这里,然后就让你去开启mariaDB的服务,如果你尝试一下,就会发现根本开启不了,系统会报错,告诉你在/home/report/data下新建一个临时文件新建不了,/etc/my.cnf.d/server.cnf/下的
aria_log_control文件不存在,aria_log.00000001文件无法打开等等.....反正就是启动不了mariaDB服务,这是为什么呢?执行ls -Z查看新建目录与/var/lib/mysql两者的安全信息可以看到:
新目录:
/var/lib/mysql
两者的 security context信息并不一致,这就是导致mariaDB服务无法启动的原因,所以要使用semanage去修改新目录的 security context
6.修改新目录的 security context信息,执行:
semanage fcontext -a -t mysqld_db_t "/home/data(/.*)?"
7.恢复目录的 security context信息,执行:
restorecon -R -v /home/data
8.启动MariaDB服务,执行:
(Centos7):systemctl start mariadb.service
(Centos6):service mysql start
完毕,搞掂收工!
------------------------------------------------华丽的分割线 X3----------------------------------------------------------------
结束语及参考:要吐槽基本上在前面已经吐槽完毕,如果因为吐槽太多而导致你不想看这篇文章的话,建议直接去看RedHat的相关文章,我也是参考这编文章去解决问题的,传送门在下方:
相关推荐
在本教程中,我们将深入探讨如何在 CentOS 7.2009 上安装 MariaDB 10.8.2 集群,特别是基于 Galera 的 MySQL 实时同步集群。这个过程适合那些需要高可用性和数据一致性的环境,例如企业级数据库服务。以下是详细步骤...
在升级或重新安装CentOS 7系统后,我们可能需要调整数据库的datadir,以便在新的挂载点上保存数据。然而,在将MariaDB的datadir从默认位置(如/var/lib/mysql)更改为其他目录(如/home/mysql)后,发现数据库服务...
Linux上的MariaDB 10.5.4是一个高度优化的关系型数据库管理系统,是MySQL的一个分支,由MySQL的原始开发者创建并维护。这个版本的发布带来了许多性能改进、新特性和安全增强,使得它成为服务器端数据存储的重要选择...
以上步骤详细解释了如何在CentOS7上安装和配置MySQL5.7.26。每个步骤都是必要的,确保了MySQL的正确安装和安全运行。需要注意的是,根据实际环境可能需要调整配置文件中的参数,以满足特定的性能或安全性需求。此外...
标题中的"mariadb-10.3.7.tar.gz"表示的是MariaDB数据库管理系统的一个特定版本——10.3.7,该版本被打包成Linux下的tar归档文件并进行了gzip压缩,方便在Linux环境中进行分发和安装。 MariaDB与MySQL的主要区别...
### Linux CentOS离线安装 MySQL Glibc 版/解压版详解 #### 一、环境准备与检查 ...通过上述步骤,你可以在 CentOS 系统上离线安装并配置好 MySQL 服务。确保按照步骤仔细操作,避免遗漏任何关键环节。
### MySQL在CentOS7上的部署知识点 #### 一、基础知识——数据库简介 1. **MySQL定义** MySQL并非数据库本身,而是数据库管理系统(DBMS)的一种。它是一种使用广泛的关系型数据库管理系统(RDBMS),主要功能包括...
总结一下,通过上述步骤,我们能够在 CentOS 7 上成功地使用 yum 安装 MySQL 5.7,并进行基本的配置,包括设置 root 密码、开启远程访问以及了解关键的日志文件位置。这将帮助管理员管理和维护 MySQL 数据库实例。
2. **在centos7-4上安装MySQL**:安装MySQL用于存储监控数据。 3. **创建zabbix数据库账号并授权**:创建专用于Zabbix的数据库账号。 4. **安装zabbix源**:安装Zabbix的软件源。 5. **安装zabbix3.4**:安装Zabbix...
本文档假设Zabbix Server将在一个运行CentOS 7的服务器上安装,而Zabbix Agent可以在多种操作系统上运行。确保你的系统已经安装了EPEL仓库,因为Zabbix的一些依赖包来自于这个仓库。 3. **安装Zabbix Server**: ...
2. **安装过程**:MariaDB的安装通常通过包管理器完成,例如在Ubuntu上使用`apt-get`,在CentOS上使用`yum`。在离线环境中,可以下载预编译的二进制包,然后手动安装。 3. **配置优化**:MariaDB的配置文件通常为`...
在CentOS7操作系统中安装MySQL 5.7.19的...完成以上步骤后,你应该已经在CentOS 7上成功安装了MySQL 5.7.19,并设置了root用户的密码和远程访问权限。记得定期备份数据,保持软件更新,以确保系统的安全性和稳定性。
MariaDB Galera Cluster是一个基于MySQL InnoDB存储引擎的多主节点数据库集群解决方案。它支持数据的实时同步与多主节点之间的读写操作,并且能够在无需读写分离的情况下,自动将读写压力均匀分配到集群中的各个节点...
在CentOS 7系统上安装MySQL 5.6时,可能会遇到一些问题,因为CentOS 7默认已将MariaDB作为其数据库系统。这导致了MySQL安装过程中与MariaDB库和包之间的冲突。以下是安装MySQL 5.6时可能遇到的一些关键问题及其解决...
以下是安装和配置 MariaDB 在 CentOS 7 上的详细步骤: 1. **检查系统中是否已安装 MariaDB** - 使用 `rpm -qa | grep mariadb` 检查已安装的 MariaDB 相关包。 - 如果发现已安装,可以使用 `rpm -e --nodeps ...
在Linux上,你可以使用apt-get(Ubuntu/Debian)或yum(CentOS/RHEL)来安装Apache、PHP和MySQL。在Windows上,你可以下载并安装XAMPP或WAMP套件。 步骤2:安装MySQL 创建一个新的数据库和用户,记下数据库名、...
在CentOS 7.6操作系统中安装MySQL是一个关键任务,特别是在服务器环境中,因为MySQL是广泛使用的开源关系型数据库管理系统。以下是一步一步的详细过程,包括检查系统状态、卸载已有MySQL版本、创建目录结构、配置...