CentOS6.7编译安装MySQL5.7
时间:2016-06-09 23:29 来源:linux.it.net.cn 作者:IT
MySQL发布有一些时日了,博客迁移后将环境全部进行升级。
mysql5.5之后的版本全部使用 cmake 工具进行编译,cmake重要特性是独立于源码的编译功能,即编译工作可以在另一个指定的目录中而非源码目录中进行,这可以保证源码目录不受任何一次编译的影响。因此在同一个源码树上可以进行多次不同的编译,如针对于不同平台编译。
安装依赖包
-
yum install -y bison openssl openssl-devel ncurses ncurses-devel
下载编译最新版cmake,下载地址为:https://cmake.org/download/
-
tar xf cmake-3.4.0-Linux-x86_64.tar.gz
-
cd cmake-3.4.0
-
./configure
-
make && make install
下载必要源码包
-
wget http://downloads.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz
-
wget http://cdn.mysql.com/Downloads/MySQL-5.7/mysql-5.7.9.tar.gz
添加所需用户
-
useradd mysql -s /sbin/nologin -M
预编译,实际编译时请删除注释
-
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ #安装路径
-
-DSYSCONFDIR=/etc \ #my.cnf存放目录
-
-DDOWNLOAD_BOOST=1 \ #从MySQL 5.7.5开始Boost库是必需的
-
-DWITH_BOOST=../boost_1_59_0 \ #指定Boost位置
-
-DMYSQL_DATADIR=/www/data \ #数据库文件存放地址
-
-DMYSQL_UNIX_ADDR=/var/run/mysql/mysqld.sock \ #连接数据库socket路径,注意此路径必须有读写权限
-
-DMYSQL_USER=mysql \ #数据库用户
-
-DEXTRA_CHARSETS=all \ #安装所有字符集
-
-DWITH_READLINE=1 \
-
-DWITH_SSL=system \ #SSL
-
-DWITH_EMBEDDED_SERVER=1 \
-
-DENABLED_LOCAL_INFILE=1 \
-
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-
-DENABLE_DOWNLOADS=1 \
-
-DDEFAULT_CHARSET=utf8 \
-
-DDEFAULT_COLLATION=utf8_general_ci
编译选项说明
指定安装文件的安装路径时常用的选项
-
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql #指定残可安装路径(默认的就是/usr/local/mysql)
-
-DMYSQL_DATADIR=/data/mysql #mysql的数据文件路径
-
-DSYSCONFDIR=/etc #配置文件路径
编译过程中启用其他存储引擎时指令介绍
-
-DWITH_INNOBASE_STORAGE_ENGINE=1 #使用INNOBASE存储引擎
-
-DWITH_ARCHIVE_STORAGE_ENGINE=1 #常应用于日志记录和聚合分析,不支持索引
-
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 #黑洞存储引擎
其他功能指令
-
-DMYSQL_TCP_PORT=3306 #默认端口
-
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock #默认套接字文件路径
-
-DENABLED_LOCAL_INFILE=1 #是否启用LOCAL_INFILE功能
-
-DEXTRA_CHARSETS=all #是否支持额外的字符集
-
-DDEFAULT_CHARSET=utf8 #默认编码机制
-
-DDEFAULT_COLLATION=utf8_general_ci #设定默认语言的排序规则
-
-DWITH_DEBUG=0 #DEBUG功能设置
-
-DENABLE_PROFILING=1 #性能分析功能是否启用
编译安装MySQL
-
make&&make install #注意内存,内存过小可能编译不过
添加服务和开机启动
-
cp support-files/mysql.server /etc/init.d/mysqld #复制脚本
-
chmod +x /etc/init.d/mysqld #增加可执行权限
-
chkconfig --add mysqld #增加至sysV服务
-
chkconfig mysqld on #开机自启动
初始化数据库
-
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/www/data
会在~/.mysql_secret生成一个随机密码
按要求修改my.cnf文件
-
vim my.cnf
-
[mysqld]
-
binlog-format=ROW
-
log-bin=master-bin.log
-
log-slave-updates=true
-
gtid-mode=on
-
enforce-gtid-consistency=true
-
master-info-repository=TABLE
-
relay-log-info-repository=TABLE
-
sync-master-info=1
-
slave-parallel-workers=2
-
binlog-checksum=CRC32
-
master-verify-checksum=1
-
slave-sql-verify-checksum=1
-
binlog-rows-query-log_events=1
-
server-id=1
-
report-port=3306
-
port=3306
-
datadir=/mydata/data
-
socket=/var/run/mysql.sock #和编译选项保持一致
添加环境变量
-
vim /etc/profile.d/mysql.sh
-
export PATH=$PATH:/usr/local/mysql/bin
然后执行 source /etc/profile重载变量
执行mysql -uroot -p,看,熟悉的欢迎界面是不是出来了呢
-
Welcome to the MySQL monitor. Commands end with ; or \g.
-
Your MySQL connection id is 15297
-
Server version: 5.7.10-log Source distribution
(责任编辑:IT)
MySQL发布有一些时日了,博客迁移后将环境全部进行升级。 mysql5.5之后的版本全部使用 cmake 工具进行编译,cmake重要特性是独立于源码的编译功能,即编译工作可以在另一个指定的目录中而非源码目录中进行,这可以保证源码目录不受任何一次编译的影响。因此在同一个源码树上可以进行多次不同的编译,如针对于不同平台编译。 安装依赖包
下载编译最新版cmake,下载地址为:https://cmake.org/download/
下载必要源码包
添加所需用户
预编译,实际编译时请删除注释
编译选项说明
编译过程中启用其他存储引擎时指令介绍
其他功能指令
编译安装MySQL
添加服务和开机启动
初始化数据库
会在~/.mysql_secret生成一个随机密码 按要求修改my.cnf文件
添加环境变量
然后执行 source /etc/profile重载变量 执行mysql -uroot -p,看,熟悉的欢迎界面是不是出来了呢
(责任编辑:IT) |