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
下一篇 2018-06-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笔记 2018-05-20
  • 初学Linux之标准I/O和管道

    标准输入和输出 程序是由指令+数据组成程序的数据流有三种: 输入数据流:<–标准输入(stdin),一般默认是键盘输出数据流:–>标准输出(stdout),一般默认到终端窗口错误输出流:–>标准错误(stderr),一般默认到终端窗口 标准输入:0标准输出:1错误输出:2 I/O重定向:改变默认位置 输出…

    Linux笔记 2018-04-03
  • 进程和计划任务

    进程和计划任务 一、 进程 程序:是在磁盘上的一个文件,只要不去运行它就是一个静态文件,不占用内存空间; 进程:process是一个动态的概念,只有当用户将程序运行起来时才会有进程,当进程执行完毕时,就会从内存中删除。 线程:thread   pstree –p 命令显示中{}中的即为线程。 一个进程会对应一个程序,而一个程序可能会对应多个进程。 一个进程里…

    2018-05-05
  • 进程管理工具

    进程管理工具

    Linux笔记 2018-04-20