MySQL 5.7.19 源码安装
- 查看系统:
# cat /etc/redhat-release CentOS Linux release 7.3.1611 (Core)
- 安装依赖包
# yum -y install ncurses-devel libaio-devel cmake gcc gcc-c++ bison perl-Time-HiRes
- 下载安装boost 下载, 解压 mysql
- 下载包
# wget http://nchc.dl.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz
-
解压
# tar xf boost_1_59_0.tar.gz
-
将boost 的包放到 /usr/local/boost 下
# mv boost_1_59_0 /usr/local/boost
- 创建 mysql 账号
# useradd -s /sbin/nologin -M mysql 验证 # id mysql
- 下载包
- 安装 mysql
- 下载, 解压 MYsql 源码包
# mkdir /root/tools # cd /root/tools # wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.19.tar.gz # wget : 下载 MySQL 5.7.19 源码包 # tar xf mysql-5.7.19.tar.gz
- cmake 解压与设置 msyql
cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.7.19 -DMYSQL_DATADIR=/application/mysql-5.7.19/data -DMYSQL_UNIX_ADDR=/application/mysql-5.7.19/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 -DWITH_ZLIB=bundled -DWITH_SSL=bundled -DENABLED_LOCAL_INFILE=1 -DWITH_EMBEDDED_SERVER=1 -DENABLE_DOWNLOADS=1 -DWITH_DEBUG=0 -DWITH_BOOST=/usr/local/boost/
-
编译安装
# grep processor /proc/cpuinfo|wc -l # 查看本机 CPU 虚拟核数
# make -j 6 && make install
-j : 使用 6个CPU线程进行编译解压, 越多编译快, 测试结果 只用 1 CPU 编译 1个多小时, 使用6 个后 不到10分钟
- 下载, 解压 MYsql 源码包
- 配置mysql
- 设置软连接
# ln -s /application/mysql-5.7.19/ /application/mysql
-
修改配置文件
# cat /etc/my.cnf
# mysql config file [mysqld] # datadir=/application/mysql/data # socket=/application/mysql/tmp/mysql.sock # skip-grant-tables symbolic-links=0 [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/application/mysql/mysqld.pid
- 设置软连接
-
初始化数据库
-
创建目录 /application/mysql-5.7.19/tmp 存放 mysql.sock
# mkdir /application/mysql-5.7.19/tmp
-
将 /application/ 下的所有文件 用户付给 mysql 用户
# chown -R mysql.mysql /application/mysql*
-
设置环境变量
# echo 'PATH=$PATH:/application/mysql/bin/' >>/etc/profile # source /etc/profile
-
配置启动文件
# cp /application/mysql/support-files/mysql.server /etc/init.d/mysqld
-
初始化数据库
# mysqld --initialize-insecure --user=mysql --basedir=/application/mysql/ --datadir=/application/mysql/data
-
- 启动 mysql
- 启动
# /etc/init.d/mysqld start # netstat -lntup |grep 330
-
设置开启启动
# chkconfig mysqld on # chkconfig mysqld --list
- 启动
-
CMAKE 选项解释
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql //MySQL安装的根目录 -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock //指定mysql.sock位置 -DMYSQL_DATADIR=/data //MySQL数据库文件存放目录 -DSYSCONFDIR=/etc //MySQL配置文件所在目录 -DWITH_MYISAM_STORAGE_ENGINE=1 //添加MYISAM引擎 -DWITH_INNOBASE_STORAGE_ENGINE=1 //添加InnoDB引擎 -DWITH_ARCHIVE_STORAGE_ENGINE=1 //添加ARCHIVE引擎 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 //支持数据库分区 -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 -DWITH_READLINE=ON -DCOMPILATION_COMMENT='Zhaofx for mysqltest' // -DEXTRA_CHARSETS=all //使MySQL支持所有的扩展字符 -DDEFAULT_CHARSET=utf8 //设置MySQL的默认字符集为utf8 -DDEFAULT_COLLATION=utf8_general_ci //设置默认字符集校对规则 -DWITH_SYSTEMD=1 //可以使用systemd控制mysql服务 -DWITH_BOOST=/usr/local/boost //指向boost库所在目录 -DWITH_EXTRA_CHARSETS=all -DWITH_ZLIB=bundled -DWITH_SSL=bundled -DWITH_INNOBASE_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1 -DWITH_EMBEDDED_SERVER=1 -DENABLE_DOWNLOADS=1 -DWITH_DEBUG=0