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=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

#插件文件及配置路径,注意这里是相对路径,相对于mysql安装路径

-DINSTALL_PLUGINDIR=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;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值