`
madbird
  • 浏览: 14355 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

修改Centos7上安装MariaDB数据库的存储位置

 
阅读更多

背景及唠叨:单位在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的相关文章,我也是参考这编文章去解决问题的,传送门在下方:

https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/SELinux_Users_and_Administrators_Guide/sect-Managing_Confined_Services-MariaDB-Configuration_Examples.html

  • 大小: 1.3 KB
  • 大小: 1.6 KB
分享到:
评论

相关推荐

    centos7.2009上安装mariadb10.8.2 MGC集群 mysql实时同步集群

    在本教程中,我们将深入探讨如何在 CentOS 7.2009 上安装 MariaDB 10.8.2 集群,特别是基于 Galera 的 MySQL 实时同步集群。这个过程适合那些需要高可用性和数据一致性的环境,例如企业级数据库服务。以下是详细步骤...

    CentOS7中MariaDB修改datadir后无法启动的解决方法

    在升级或重新安装CentOS 7系统后,我们可能需要调整数据库的datadir,以便在新的挂载点上保存数据。然而,在将MariaDB的datadir从默认位置(如/var/lib/mysql)更改为其他目录(如/home/mysql)后,发现数据库服务...

    最新版linux mariadb-10.5.4-linux-x86_64.tar.gz

    Linux上的MariaDB 10.5.4是一个高度优化的关系型数据库管理系统,是MySQL的一个分支,由MySQL的原始开发者创建并维护。这个版本的发布带来了许多性能改进、新特性和安全增强,使得它成为服务器端数据存储的重要选择...

    centOS7安装mysql5.7手册v3.docx

    以上步骤详细解释了如何在CentOS7上安装和配置MySQL5.7.26。每个步骤都是必要的,确保了MySQL的正确安装和安全运行。需要注意的是,根据实际环境可能需要调整配置文件中的参数,以满足特定的性能或安全性需求。此外...

    mariadb-10.3.7.tar.gz

    标题中的"mariadb-10.3.7.tar.gz"表示的是MariaDB数据库管理系统的一个特定版本——10.3.7,该版本被打包成Linux下的tar归档文件并进行了gzip压缩,方便在Linux环境中进行分发和安装。 MariaDB与MySQL的主要区别...

    Linux centos离线安装 mysql glibc版/ 解压版

    ### Linux CentOS离线安装 MySQL Glibc 版/解压版详解 #### 一、环境准备与检查 ...通过上述步骤,你可以在 CentOS 系统上离线安装并配置好 MySQL 服务。确保按照步骤仔细操作,避免遗漏任何关键环节。

    centos7 部署MySQL

    ### MySQL在CentOS7上的部署知识点 #### 一、基础知识——数据库简介 1. **MySQL定义** MySQL并非数据库本身,而是数据库管理系统(DBMS)的一种。它是一种使用广泛的关系型数据库管理系统(RDBMS),主要功能包括...

    CentOS7 yum方式安装MySQL 5

    总结一下,通过上述步骤,我们能够在 CentOS 7 上成功地使用 yum 安装 MySQL 5.7,并进行基本的配置,包括设置 root 密码、开启远程访问以及了解关键的日志文件位置。这将帮助管理员管理和维护 MySQL 数据库实例。

    centos7+Tomcat+MySQL+nginx电子商务站点部署及rsync备份

    2. **在centos7-4上安装MySQL**:安装MySQL用于存储监控数据。 3. **创建zabbix数据库账号并授权**:创建专用于Zabbix的数据库账号。 4. **安装zabbix源**:安装Zabbix的软件源。 5. **安装zabbix3.4**:安装Zabbix...

    CentOS 7环境下Zabbix 4安装和配置手册.docx

    本文档假设Zabbix Server将在一个运行CentOS 7的服务器上安装,而Zabbix Agent可以在多种操作系统上运行。确保你的系统已经安装了EPEL仓库,因为Zabbix的一些依赖包来自于这个仓库。 3. **安装Zabbix Server**: ...

    MariaDB + gelara集群部署(可离线),附带安装包及依赖包

    2. **安装过程**:MariaDB的安装通常通过包管理器完成,例如在Ubuntu上使用`apt-get`,在CentOS上使用`yum`。在离线环境中,可以下载预编译的二进制包,然后手动安装。 3. **配置优化**:MariaDB的配置文件通常为`...

    Centos7 下Mysql5.7.19安装教程详解

    在CentOS7操作系统中安装MySQL 5.7.19的...完成以上步骤后,你应该已经在CentOS 7上成功安装了MySQL 5.7.19,并设置了root用户的密码和远程访问权限。记得定期备份数据,保持软件更新,以确保系统的安全性和稳定性。

    部署MariaDB Galera Cluster+mycat集群搭建

    MariaDB Galera Cluster是一个基于MySQL InnoDB存储引擎的多主节点数据库集群解决方案。它支持数据的实时同步与多主节点之间的读写操作,并且能够在无需读写分离的情况下,自动将读写压力均匀分配到集群中的各个节点...

    CentOS 7 安装 MySQL 5.6遇到的各种问题小结

    在CentOS 7系统上安装MySQL 5.6时,可能会遇到一些问题,因为CentOS 7默认已将MariaDB作为其数据库系统。这导致了MySQL安装过程中与MariaDB库和包之间的冲突。以下是安装MySQL 5.6时可能遇到的一些关键问题及其解决...

    Mysql安装配置步骤详解.docx

    以下是安装和配置 MariaDB 在 CentOS 7 上的详细步骤: 1. **检查系统中是否已安装 MariaDB** - 使用 `rpm -qa | grep mariadb` 检查已安装的 MariaDB 相关包。 - 如果发现已安装,可以使用 `rpm -e --nodeps ...

    DVWA靶场搭建教程,网站搭建

    在Linux上,你可以使用apt-get(Ubuntu/Debian)或yum(CentOS/RHEL)来安装Apache、PHP和MySQL。在Windows上,你可以下载并安装XAMPP或WAMP套件。 步骤2:安装MySQL 创建一个新的数据库和用户,记下数据库名、...

    centos7.6安装mysql的安装

    在CentOS 7.6操作系统中安装MySQL是一个关键任务,特别是在服务器环境中,因为MySQL是广泛使用的开源关系型数据库管理系统。以下是一步一步的详细过程,包括检查系统状态、卸载已有MySQL版本、创建目录结构、配置...

Global site tag (gtag.js) - Google Analytics