一、获取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的服务器地址。