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

相关推荐

  • systemd服务管理

    在systemd中,之前服务的启动脚本将以Unit(单元)的形式存在,因此服务管理=单元管理。

    Linux笔记 2018-06-12
  • 防火墙技术(一)

    防火墙(Firewall),也称防护墙,是由Check Point创立者Gil Shwed于1993年发明并引入国际互联网。它是一种位于内部网络与外部网络之间的网络安全系统。一项信息安全的防护系统,依照特定的规则,允许或是限制传输的数据通过。

    2018-06-30
  • Linux-用户、组和权限

    本章内容 解释Linux的安全模型 解释用户帐号和组群帐号的目的 用户和组管理命令 理解并设置文件权限 默认权限 特殊权限 ACL   安全3A 资源分派: Authentication:认证 Authorization:授权 Accouting|Audition:审计   用户user 令牌token,identity Linux用户:…

    2018-04-05
  • 網絡屬性配置2

    網絡屬性配置2 一.ip命令 [root@centos7 ~]# rpm -qf /usr/sbin/ip 或[root@centos7 ~]# rpm -qf `which ip` iproute-3.10.0-87.el7.x86_64 (查看某個文件是由哪個程序包安裝生成) ip – show / manipulate routing, d…

    Linux笔记 2018-05-03
  • linux第三周小结

    本周小结内容包括shell脚本基础知识、文件查找命令locate和find、文本处理工具sed

    Linux笔记 2018-04-15