晓夏

YoungCheung

Zhang Sir's technical way

MySQL5.6.29编译安装

浏览量:951

一、环境准备

1、系统环境

[root@YoungCheung ~]# uname -r
3.10.0-229.el7.x86_64

2.、安装MySQL所需依赖

[root@YoungCheung ~]# yum install make cmake gcc gcc-c++ gcc-g77 flex bison 
file libtool libtool-libs autoconf kernel-devel patch wget libjpeg libjpeg-devel 
libpng libpng-devel libpng10 libpng10-devel gd gd-devel libxml2 libxml2-devel 
zlib zlib-devel glib2 glib2-devel unzip tar bzip2 bzip2-devel libevent 
libevent-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel
krb5 krb5-devel libidn libidn-devel openssl openssl-devel vim-minimal gettext 
gettext-devel ncurses-devel gmp-devel pspell-devel unzip libcap diffutils 
net-tools libc-client-develpsmisc li bXpm-devel git-core c-ares-devel perl -y

二、MySQL安装

1、创建MySQL用户、安装目录、数据目录及授权

[root@YoungCheung ~]# useradd mysql -s /sbin/nologin -M
[root@YoungCheung ~]# mkdir /usr/local/mysql
[root@YoungCheung ~]# mkdir -p /var/lib/mysql
[root@YoungCheung ~]# chown -R mysql:mysql /usr/local/mysql  /var/lib/mysql
[root@YoungCheung ~]# ln -s /usr/local/mysql/bin/* /usr/local/sbin/

2.上传软件包


链接:https://pan.baidu.com/s/1o7MnLrk

3.解压

[root@YoungCheung src]# pwd
/usr/local/src
[root@YoungCheung src]# tar xf mysql-5.6.29.tar.gz 
[root@YoungCheung src]# cd mysql-5.6.29

4.编译

cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/var/lib/mysql \
-DSYSCONFDIR=/etc \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS:STRING=utf8,gb
make && make install

参数说明:

# -DCMAKE_INSTALL_PREFIX=/usr/local/mysql     #安装路径

# -DMYSQL_DATADIR=/home/data                        #数据文件存放位置

# -DSYSCONFDIR=/etc                                            #my.cnf路径

# -DWITH_INNOBASE_STORAGE_ENGINE=1          #支持InnoDB引擎

# -DENABLED_LOCAL_INFILE=1                              #允许从本地导入数据

# -DWITH_PARTITION_STORAGE_ENGINE=1          #安装支持数据库分区

# -DEXTRA_CHARSETS=all                                       #安装所有的字符集

# -DDEFAULT_CHARSET=utf8                                  #默认字符

# -DDEFAULT_COLLATION=utf8_general_ci

5.初始化MySQL数据库

[root@YoungCheung mysql-5.6.29]# 
/usr/local/mysql/scripts/mysql_install_db \
--basedir=/usr/local/mysql \
--datadir=/var/lib/mysql/data --user=mysql

MySQL会检查位置的配置文件,首先检查/etc/my.cnf,所以我们将mysql提供的配置文件cp/etc下:

[root@YoungCheung ~]# cp /etc/my.cnf /etc/my.cnf.bck
[root@YoungCheung ~]# \cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf

6.修改/etc/my.cnf内容

[mysqld]
basedir = /usr/local/mysql
datadir = /var/lib/mysql/data
socket=/var/lib/mysql/mysql.sock
user=mysql
symbolic-links=0
character-set-server=utf8
sync_binlog=0
innodb_flush_log_at_trx_commit=0
log-bin=mysqlbin-log
language=/usr/local/mysql/share/english
max_allowed_packet = 64M
max_connections=1000
innodb_buffer_pool_size = 1280M
skip-name-resolve
sort_buffer_size = 100M
read_buffer_size = 100M
read_rnd_buffer_size = 40M
myisam_sort_buffer_size = 64M
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
expire_logs_days = 7
[mysql_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

7.启动脚本

使用MySQL官方提供的启动脚本:

[root@YoungCheung ~]# 
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

8.创建软连接

[root@YoungCheung ~]#ln -s /var/lib/mysql/mysql.sock /tmp/

9.开机自启动

[root@YoungCheung ~]#chkconfig --add mysqld
[root@YoungCheung ~]#chkconfig mysqld on

10.启动检查服务启动状态

[root@YoungCheung mysql-5.6.29]# /etc/init.d/mysqld start
Starting MySQL... SUCCESS!      
[root@YoungCheung mysql-5.6.29]# netstat -lntup|grep mysqld
tcp6       0      0 :::3306


神回复

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。