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高级编辑命令模式空间相当于正在处理数据的这块空间保持空间相当于仓库,临时存放暂时没有处理完的半成品的空间P(大写):打印模式空间开端至\n内容,并追加到默认输出之前(即只打印第一行)h: 把模式空间中的内容覆盖至保持空间中H:把模式空间中的内容追加至保持空间中g: 从保持空间取出数据覆盖至模式空间G:从保持空间取出内容追加至模式空间x: 把模式空间中的…

    Linux笔记 2018-04-22
  • 网络管理 tcp/udp详解 (传输层)

    简介: TCP和UDP的区别 TCP是面向连接的传输控制协议,而UDP提供了无连接的数据报服务。 TCP具有高可靠性,确保传输数据的正确性,不出现丢失或乱序;UDP在传输数据前不建立连接,不对数据报进行检查与修改,无须等待对方的应答,所以会出现分组丢失、重复、乱序,应用程序需要负责传输可靠性方面的所有工作; UDP具有较好的实时性,工作效率较TCP协议高; …

    2018-05-01
  • 第一周 笔记

    ../返回上一层 相对路径绝对路径    ../../   以根开始绝对路径 不以根开始是相对路径 alias 简化特别长得命令和参数(别名)  unalias去掉别名使用 .bashrc    -a全取消 ls .bashrc 别名目录文件 basename   查看主机名  (取最后的文件名) bc 计算器   obase=几进制  进制转换 clock…

    Linux笔记 2018-04-01
  • linux yum 等工具详解

    linux yum 等工具详解

    2018-04-09