centos 7.4 上源码安装 mysql 数据库

实验: centos 7.4 上源码安装 mysql 数据库
  检查相应的坏境
查看下防火墙iptables和selinux 是否关闭,没关闭先关闭。
再查看下原来主机上是否已有 mariadb 数据库,如果有先卸载在进行安装。
  装包
yum install bison bison-devel zlib-devel libcurl-devel libarchive-devel boost-devel gcc gcc-c++ cmake libevent-devel gnutls-devel libaio-devel openssl-
devel ncurses-devel libxml2-devel
创建用户
useradd -r -s /sbin/nologin mysql
接下来解压缩
tar xvf mariadb-10.2.15.tar.gz
创建目录,指定用户数据存放的数据库
mkdir /data/mysqldb -pv
然后给设置权限
chown mysql.mysql /data/mysqldb
接下来对源码进行编译
cd 进入 mariadb-10.2.15 目录下,进行编译
cmake . \
-DCMAKE_INSTALL_PREFIX=/app/mysql \
-DMYSQL_DATADIR=/data/mysqldb/ \
-DSYSCONFDIR=/etc \
-DMYSQL_USER=mysql \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITHOUT_MROONGA_STORAGE_ENGINE=1 \
-DWITH_DEBUG=0 \
-DWITH_READLINE=1 \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
-DWITH_LIBWRAP=0 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci
然后 用命令 make -j 4 && make install
接下来准备一些变量,因为在这个目录下,存放着一些主程序工具,为方便实用,放进 PATH 变量里。
echo PATH=/app/mysql/bin:$PATH > /etc/profile.d/mysql.sh
生效一下: . /etc/profile.d/mysql.sh
接下来我们还要在用户数据库 /data/mysqldb 中生成一些系统数据库,要用一个脚本来生成。
执行这个脚本时,一定要 cd 进入到 /app/mysql/ 目录下
scripts/mysql_install_db –datadir=/data/mysqldb –user=mysql –basedir=/app/mysql
执行完后发现ok就表示成功
下来修改配置文件,来告诉二进制程序用户存放数据的数据库路径,mysql 数据库的主配置文件在 /etc/my.cnf
修改数据库要参照 mysql/support-files/ 这个目录下的一些配置文件,根据生产需求拷贝想用的文件去覆盖主配置文件。
cp support-files/my-huge.cnf /etc/my.cnf
然后进行修改 vim /etc/my.cnf
在mysqld 语句块中添加路径 datadir =/data/mysqldb
这样配置文件就准备好了
接下来就要准备服务启动脚本
在 /usr/local/mysql/support-files/ 目录下二进制程序已经有了相关的脚本,我们拷贝一份就可以了。
cd /usr/local/mysql/
cp support-files/mysql.server /etc/init.d/mysqld
然后就可以启动了
service mysql start
如果启动不起来,应该是/app/mysql 这个目录权限不够,加上权限就可以了。
setfacl -R -m u:mysql:rwx /app/mysql/
加上权限然后在启动
service mysql start
服务起来就可以连接数据库了。

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/100472

(1)
李登峰李登峰
上一篇 2018-06-05 18:33
下一篇 2018-06-05 20:01

相关推荐

  • 第四周

      sed的高级用法 安装包路径/misc/cd/Packages/ rpm 可以安装 卸载 软件包 rpm -i 跟软件包名称 (安装) -e 卸载软件包 (只有配置文件会自己备份 备份文件以.rpmsave结尾的文件)-v显示详细进度 -h显示百分条 –test 测试安装,但不是真的装–nodeps 忽略依赖性 (但安装…

    Linux笔记 2018-04-22
  • yum命令及yum仓库构建

    yum命令 yum [options] [command] [package …] yum命令行选项 –nogpgcheck 禁止进行gpg check -y 自动回答yes -q 静默模式 –disablerepo=repoidglob 临时禁用此处的repo –enablerepo=repoidglob 临时启用此处的repo –noplug…

    Linux笔记 2018-06-10
  • 正则表达式、linux文件处理三剑客:grep、sed、awk

    基本的正则表达式元字符:默认工作于贪婪模式; 字符匹配: .:匹配任意单个字符; []:匹配指定范围内的任意单个字符; [^]:匹配范围外的任意单个字符; [:digit:]数字、[:lower:]小写字母、[:upper:]大写字母、[:alpha:]所有字母、[:space:]空白符、[:alnum:]字母数字、[:punct:]标点符号 匹配次数: *…

    Linux笔记 2018-03-28
  • 网络基本概念及OSI参考模型、TCP/IP协议简介

    当今时代,运行一台没有连接网络的计算机几乎是难以想象的,幸运的是,Linux从一开始就是为网络开发的,并且网络也是Linux做的最好的事情之一。掌握网络知识,对于Linux学习而言,就显得非常有必要了。本节我们将带大家了解一些网络的基本概念,以及OSI参考模型和TCP/IP协议。

    2018-05-02
  • 第七周作业

      1、创建一个10G分区,并格式为ext4文件系统;  (1) 要求其block大小为2048, 预留空间百分比为2,   卷标为MYDATA, 默认挂载属性包含acl;  (2) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳; 1.创建分区/dev/sdb1,容量为10G fdisk /dev/sdb…

    2018-05-02
  • 第三周作业

    第三周作业 1列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 W 命令:显示信息更加全面 第一行显示系统的汇总信息,字段分别表示系统当前时间、系统运行时间、登陆内用户总数及系统平均负载信息。 从第二行开始构成一个表格,共有8个栏目,分别显示各个用户正在做的事情及该用户所占用的系统资料。 USER:显示登陆用户帐号名。用…

    2018-07-08