一、获取MySQL源码安装包

MySQL官网下载地址:https://dev.mysql.com/downloads/mysql/ 这里我选择的是带boost的版本。若选择不带boost的版本,请自行下载boost进行安装更新。

二、安装准备工作

1、安装必要的依赖包:

# yum -y install gcc gcc-c++ ncurses ncurses-devel bison libgcrypt perl make cmake

2、新建mysql用户

# useradd  -r -g mysql  -s /sbin/nologin -M  mysql

3、新建mysql数据目录 数据库软件目录: mkdir -p /opt/mysql/db 数据库数据目录:mkdir -p /opt/mysql/data 数据库日志目录:mkdir -p /opt/mysql/log 数据库缓存目录:mkdir -p /opt/mysql/tmp 4、修改权限

# chown -R  mysql.mysql /opt/mysql

三、 解压MySQL并编译安装

1、解压MySQL

# ls -l mysql-boost-5.7.23.tar.gz
-rw-rw-r--. 1 admin admin 49025014 8月   6 21:25 mysql-boost-5.7.23.tar.gz
tar -zxvf mysql-boost-5.7.23.tar.gz

2、编译安装

# cd mysql-5.7.23/
# cmake . \
	-DCMAKE_INSTALL_PREFIX= /opt/mysql/db \
	-DMYSQL_DATADIR=/opt/mysql/data\
	-DDOWNLOAD_BOOST=1 \
	-DWITH_BOOST=/root/mysql-5.7.20/boost \
	-DSYSCONFDIR=/etc \
	-DWITH_INNOBASE_STORAGE_ENGINE=1 \
	-DWITH_PARTITION_STORAGE_ENGINE=1 \
	-DWITH_FEDERATED_STORAGE_ENGINE=1 \
	-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
	-DWITH_MYISAM_STORAGE_ENGINE=1 \
	-DENABLED_LOCAL_INFILE=1 \
	-DENABLE_DTRACE=0 \
	-DDEFAULT_CHARSET=utf8 \
	-DDEFAULT_COLLATION=utf8_general_ci \
	-DWITH_EMBEDDED_SERVER=1

完成之后:

	# make&&make install

3、配置my.cnf文件

# cd  /etc
# cp my.cnf my.cnf.old
# vi /etc/my.cnf
 
[client]
port=3306
socket=/opt/mysql/data/mysql.sock
default-character-set=utf8
[mysqld]
port=3306
user=mysql
socket=/opt/mysql/data/mysql.sock
pid-file=/opt/mysql/data/mysql.pid
basedir=/opt/mysql/mysql
datadir=/opt/mysql/data
tmpdir=/opt/mysql/tmp
character-set-server=utf8
log_error=/opt/mysql/log/mysql.err
 
server-id=2
log_bin=/opt/mysql/log/binlog 
general_log_file=/opt/mysql/log/general_log
general_log=1
 
slow_query_log=ON
long_query_time=2
slow_query_log_file=/opt/mysql/log/query_log
log_queries_not_using_indexes=ON

4、初始化数据库

# cd mysql/db/bin/
# ./mysqld --initialize-insecure --user+mysql --basedir=/opt/mysql/db --datadir=/opt/mysql/data

5、安装ssl,可指定路径,默认即可

# cd mysql/db/bin/
# ./mysql_ssl_rsa_setup

6、数据库启动,查看数据库启动状态

# cp /opt/mysql/db/support-files/mysql.server   /etc/init.d/mysqld
# systemctl start mysqld
# systemctl status mysqld

7、登陆数据库,修改数据库密码 安装好之后,MySQL的默认密码为空

# mysql -u root -p
Enter password: 
mysql> alter user 'root'@'localhost' identified by '123456';

修改mysql.user表的host字段,添加和删除可以登陆mysql的服务器地址。