centos7环境下源码安装mysql5.7.16的方法详解

本文实例讲述了centos7环境下源码安装mysql5.7.16的方法。分享给大家供大家参考,具体如下:

一、下载源码包

下载mysql源码包

http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.16.tar.gz

二、安装约定:

用户名:mysql
安装目录:/data/mysql
数据库目录:/data/mysql/data

三、安装准备

1、添加用户

> useradd -s /sbin/nologin mysql

2、建立目录

> mkdir /data/mysql

3、改变目录拥有者和所属者

> chown -R mysql:mysql /data/mysql

4、安装编辑所需的文件

> yum install gcc gcc-c++ cmake bison-devel ncurses-devel libaio libaio-devel

(*mysql5.7.5以上版本需要安装boost)

> yum install boost boost-devel

5、解压源码包

> tar -xf mysql-5.7.16.tar.gz

四、编译安装

> cd /data/mysql-5.7.16
> cmake \
-DMYSQL_USER=mysql \
-DCMAKE_INSTALL_PREFIX=/data/mysql \
-DMYSQL_DATADIR=/data/mysql/data \
-DSYSCONFDIR=/data/mysql \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DINSTALL_PLUGINDIR=/data/mysql/plugin \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=/usr/local/boost

(*注意,如果出错,需删除CMakeCache.txt,重新运行配置)

关于上面参数的解释如下:

#mysql用户名
-DMYSQL_USER=mysql
#安装路径
-DCMAKE_INSTALL_PREFIX=/data/mysql
#数据文件存放位置
-DMYSQL_DATADIR=/data/mysql/data
#my.cnf路径
-DSYSCONFDIR=/data/mysql
#支持MyIASM引擎
-DWITH_MYISAM_STORAGE_ENGINE=1
#支持InnoDB引擎
-DWITH_INNOBASE_STORAGE_ENGINE=1
#支持Memory引擎
-DWITH_MEMORY_STORAGE_ENGINE=1
#插件文件及配置路径
-DINSTALL_PLUGINDIR=/data/mysql/plugin
#快捷键功能(我没用过)
-DWITH_READLINE=1
#连接数据库socket路径
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock
#端口
-DMYSQL_TCP_PORT=3306
#允许从本地导入数据
-DENABLED_LOCAL_INFILE=1
#安装支持数据库分区
-DWITH_PARTITION_STORAGE_ENGINE=1
#安装所有的字符集
-DEXTRA_CHARSETS=all
#默认字符
-DDEFAULT_CHARSET=utf8
#校验字符
-DDEFAULT_COLLATION=utf8_general_ci
#会自动下载boost
-DDOWNLOAD_BOOST=1
#指定boost目录
-DWITH_BOOST=/usr/local/boost

编译安装

> make && make install

复制配置文件

> cp /data/mysql/support-files/my-default.cnf /data/mysql/my.cnf

初始化数据库

> /data/mysql/bin/mysqld \
--defaults-file=/data/mysql/my.cnf \
--initialize \
--user=mysql \
--basedir=/data/mysql \
--datadir=/data/mysql/data \

如果出现如下信息:

unknown variable 'defaults-file=/data/mysql/my.cnf'

请保证--defaults-file配置选项在最前面。

如果出现如下信息:

[ERROR] --initialize specified but the data directory has files in it. Aborting.

请保证的你的datadir目录下为空,如果有文件则删除。

mysql5.7版本通过--initialize安装会随机生成root密码,请注意保存。

如果希望生成空密码请使用--initialize-insecure配置。

修改mysql目录拥有者

> chown -R mysql:mysql /data/mysql

五、配置mysql配置文件my.cnf

由于我们在编译安装mysql的时候设置了它的配置文件目录为/data/mysql,所以删掉/etc/my.cnf。

以免受影响。

> rm -rf /etc/my.cnf
> vi /data/mysql/my.cnf

配置如下:

[client]
default-character-set = utf8
port = 3306
socket = /data/mysql/mysql.sock
[mysql]
default-character-set = utf8
[mysqld]
skip-name-resolve
basedir = /data/mysql
datadir = /data/mysql/data
port = 3306
server_id = 10
socket = /data/mysql/mysql.sock
character-set-server = utf8
max_connections = 200
default-storage-engine = INNODB
log-bin=mysql-bin

为mysql添加开机启动

> cp /data/mysql/support-files/mysql.server /etc/init.d/mysqld
> chmod 755 /etc/init.d/mysqld
> chkconfig --add mysqld

启动mysql服务

> service mysqld start

为mysql添加环境变量

> echo "export PATH=/data/mysql/bin/:$PATH" >> /etc/profile
> source /etc/profile

通过上面保存过的密码登陆mysql来修改root密码

> mysql -uroot -p
> set password=password('123456');
> alter user 'root'@'localhost' password expire never;
> flush privileges;

更多关于MySQL相关内容感兴趣的读者可查看本站专题:《MySQL查询技巧大全》、《MySQL常用函数大汇总》、《MySQL日志操作技巧大全》、《MySQL事务操作技巧汇总》、《MySQL存储过程技巧大全》及《MySQL数据库锁相关技巧汇总》

希望本文所述对大家MySQL数据库计有所帮助。

(0)

相关推荐

  • centos7.2.1511安装jdk1.8.0_151及mysql5.6.38的方法

    本文实例讲述了centos7.2.1511安装jdk1.8.0_151及mysql5.6.38的方法.分享给大家供大家参考,具体如下: 一:环境 二:下载jdk的rpm包到本地,上传到服务器(因为这块我刚开始使用wget直接下载到服务器,安装不断报错,所以我决定使用这种笨办法) 下载地址:http://download.oracle.com/otn-pub/java/jdk/8u151-b12/e758a0de34e24606bca991d704f6dcbf/jdk-8u151-linux-x6

  • Centos7安装和配置Mysql5.7

    第一步:获取mysql YUM源 进入mysql官网获取RPM包下载地址 https://dev.mysql.com/downloads/repo/yum/ 右击 复制链接地址 https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm 得到rpm包的地址 第二步:下载和安装mysql源 先下载 mysql源安装包 [root@localhost ~]# wget https://dev.mysql.com/get/

  • Centos7安装 mysql5.6.29 shell脚本

    本文实例为大家分享了mysql5.6.29的shell脚本,供大家参考,具体内容如下 创建脚本mysql.sh,直接运行sh mysql.sh #!/bin/bash if [ -d /software ] ;then cd /software else mkdir /software && cd /software fi #is exist command ,if not,yum install is_exist() { which $1 if [ $? -ne 0 ] ;then yu

  • Centos7.3下mysql5.7.18安装并修改初始密码的方法

    本文为大家分享了Centos7.3下mysql5.7.18的安装,和修改初始密码,供大家参考,具体内容如下 1.官方安装文档 http://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/ 2.下载 Mysql yum包 http://dev.mysql.com/downloads/repo/yum/ 下载到本地再上传到服务器,或者使用wget 直接下载 wget http://repo.mysql.com/mysql57-community-re

  • centos7环境下二进制安装包安装 mysql5.6的方法详解

    本文实例讲述了centos7环境下二进制安装包安装 mysql5.6的方法.分享给大家供大家参考,具体如下: centos7 二进制安装包安装 mysql5.6 一.下载mysql5.6二进制安装包 http://mirrors.sohu.com/mysql/MySQL-5.6/ 如:mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz 二.安装mysql5.6(安装在/data/mysql56) (1).创建mysql用户账号 > useradd -s /sbin

  • centos7安装mysql5.6的方法

    1.使用 wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpmmingl 命令下载安装包 2.使用命令 yum install mysql-server 安装mysql 3.安装后使用命令 systemctl start mysqld 启动服务 以上所述是小编给大家介绍的centos7安装mysql5.6,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的.在此也非常感谢大家对我们网站的支持!

  • CentOS7服务器中apache、php7以及mysql5.7的安装配置代码

    CentOS7服务器中apache.php7以及mysql5.7的配置代码如下所示: yum upgrade yum install net-tools 安装apache 关闭SELinux 编辑器打开 etc/selinux/config 文件,找到 SELINUX=enforcing 字段,将其改成 SELINUX=disabled ,并重启设备. yum -y install httpd mod_ssl 配置防火墙 firewall-cmd --permanent --add-port=8

  • 阿里云 Centos7.3安装mysql5.7.18 rpm安装教程

    卸载MariaDB CentOS7默认安装MariaDB而不是MySQL,而且yum服务器上也移除了MySQL相关的软件包.因为MariaDB和MySQL可能会冲突,故先卸载MariaDB. 1.安装新版mysql之前,我们需要将系统自带的mariadb-lib卸载 [root@iZwz94qazh62gk5ewl4ei2Z home]# rpm -qa | grep -i mariadb  mariadb-libs-5.5.52-1.el7.x86_64 [root@iZwz94qazh62g

  • centos7利用yum安装lnmp的教程(linux+nginx+php7.1+mysql5.7)

    前言 本文主要介绍的是基于centos7进行yum安装lnmp(linux+nginx+php7.1+mysql5.7)的相关教程,文中将一步步介绍的非常详细,下面话不多说了,来一起看看详细的介绍吧. 步骤如下: yum的安装 yum update yum安装nginx 安装nginx最新源 yum localinstall http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch

  • centos7使用rpm安装mysql5.7的教程图解

    1.下载 4个rpm包 mysql-community-client-5.7.26-1.el7.x86_64.rpm mysql-community-common-5.7.26-1.el7.x86_64.rpm mysql-community-libs-5.7.26-1.el7.x86_64.rpm mysql-community-server-5.7.26-1.el7.x86_64.rpm 想要用迅雷进行下载得先找到对应的rpm下载路径 首先浏览器打开mysql官网:https://dev.m

  • Linux下Centos7安装Mysql5.7.19的详细教程

    1.下载mysql 网址: https://dev.mysql.com/downloads/mysql/ 2.选择源码包,通用版点击下载 直接下载就可以了,不用登录 3.解压编译 tar -zxvf mysql-5.7.19.tar.gz cd mysql-5.7.19.tar.gz 创建数据目录  mkdir -p /data/mysql 先用cmake编译,没有这个命令需要先yum安装 cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql/ #这个是编译

  • Centos7使用yum安装Mysql5.7.19的详细步骤

    Centos7的yum源中默认是没有mysql,因为现在已经用mariaDB代替mysql了. 首先我们下载mysql的repo源,我们可以去mysql官网找最新的repo源地址 地址: https://dev.mysql.com/downloads/repo/yum/ 开始在linux下下载repo源 //下载mysql rpm包 # wget http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm //安装my

随机推荐