一、获取MySQL5.7.20源码安装包,并上传至服务器
MySQL官网下载地址:https://dev.mysql.com/downloads/mysql/
下载版本:mysql-boost-5.7.20.tar.gz此版本带有boost。
二、安装依赖包
[root@xjfw3 ~]# yum -y install gcc gcc-c++ ncurses ncurses-devel cmake
三、操作系统环境和目录结构
[root@xjfw3 ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 6.3 (Santiago)
[root@xjfw3 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_local-lv_root
20G 5.1G 14G 28% /
tmpfs 16G 76K 16G 1% /dev/shm
/dev/mapper/vg_local-lv_app
40G 176M 38G 1% /app
/dev/sda1 485M 55M 405M 12% /boot
/dev/mapper/vg_local-lv_home
4.0G 137M 3.7G 4% /home
/dev/sdb1 394G 2.8G 371G 1% /weblogic
四、添加mysql禁止登录的用户及目录规划
[root@xjfw3 ~]# groupadd mysql
[root@xjfw3 ~]# useradd -r -g mysql -s /sbin/nologin mysql
MySQL数据库目录划分:
mysql软件目录: /weblogic/mysql/mysql
mysql数据目录:/weblogic/mysql/datadir
mysql日志目录:/weblogic/mysql/logdir
[root@xjfw3 ~]# mkdir -p /weblogic/mysql/mysql
[root@xjfw3 ~]# mkdir -p /weblogic/mysql/datadir
[root@xjfw3 ~]# mkdir -p /weblogic/mysql/logdi
[root@xjfw3 ~]# cd /weblogic/
[root@xjfw3 weblogic]# chown -R mysql.mysql mysql/
五、解压MySQL并编译安装
1、解压Mysql
[root@xjfw3 ~]# cd /root
[root@xjfw3 ~]# ls mysql-boost-5.7.20.tar.gz
mysql-boost-5.7.20.tar.gz
[root@xjfw3 ~]# tar -xvf mysql-boost-5.7.20.tar.gz
2、编译安装
[root@xjfw3 ~]#
[root@xjfw3 ~]# cd /root/mysql-5.7.20/
[root@xjfw3 mysql-5.7.20]# cmake . \
> -DCMAKE_INSTALL_PREFIX=/weblogic/mysql/mysql \
> -DMYSQL_DATADIR=/weblogic/mysql/datadir \
> -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
[root@xjfw3 mysql-5.7.20]# make & make install
六、配置my.cnf文件
[root@xjfw3 mysql]# vi /etc/my.cnf [client]
port=3306
socket=/weblogic/mysql/datadir/mysql.sock
default-character-set=utf8
[mysqld]
port=3306
user=mysql
socket=/weblogic/mysql/datadir/mysql.sock
pid-file=/weblogic/mysql/datadir/mysql.pid
basedir=/weblogic/mysql/mysql
datadir=/weblogic/mysql/datadir
tmpdir=/weblogic/mysql/tmpdir
character-set-server=utf8
log_error=/weblogic/mysql/logdir/mysql.err server-id=2
log_bin=/weblogic/mysql/logdir/binlog general_log_file=/weblogic/mysql/logdir/general_log
general_log=1 slow_query_log=ON
long_query_time=2
slow_query_log_file=/weblogic/mysql/logdir/query_log
log_queries_not_using_indexes=ON "/etc/my.cnf" [New] 25L, 605C written
[root@xjfw3 mysql]#
七、初始化数据库
[root@xjfw3 datadir]# cd /weblogic/mysql/mysql/bin
[root@xjfw3 bin]# ./mysqld --initialize-insecure --user=mysql --basedir=/weblogic/mysql/mysql --datadir=/weblogic/mysql/datadir/data
八、安装ssl,可指定文件生成路径,默认为DATA里面
[root@xjfw3 datadir]# cd /weblogic/mysql/mysql/bin
[root@xjfw3 bin]# ./mysql_ssl_rsa_setup
Generating a 2048 bit RSA private key
....................................+++
.....................................................................................+++
writing new private key to 'ca-key.pem'
-----
Generating a 2048 bit RSA private key
....................................................................................................................+++
..................................................................................................+++
writing new private key to 'server-key.pem'
-----
Generating a 2048 bit RSA private key
..................................+++
........+++
writing new private key to 'client-key.pem'
-----
[root@gsxjfw3 bin]#
九、启动数据库
[root@xjfw3 ~]# cp /weblogic/mysql/mysql/support-files/mysql.server /etc/init.d/msyqld
[root@xjfw3 support-files]# /etc/init.d/mysqld start
Starting MySQL.[ OK ]
[root@xjfw3 ~]# ps -ef | grep mysql
root 14979 1 0 19:57 pts/2 00:00:00 /bin/sh /weblogic/mysql/mysql/bin/mysqld_safe --datadir=/weblogic/mysql/datadir/data --pid-file=/weblogic/mysql/datadir/mysql.pid
mysql 15278 14979 0 19:57 pts/2 00:00:00 /weblogic/mysql/mysql/bin/mysqld --basedir=/weblogic/mysql/mysql --datadir=/weblogic/mysql/datadir/data --plugin-dir=/weblogic/mysql/mysql/lib/plugin --user=mysql --log-error=/weblogic/mysql/logdir/mysql.err --pid-file=/weblogic/mysql/datadir/mysql.pid --socket=/weblogic/mysql/datadir/mysql.sock --port=3306
root 15397 14855 0 20:04 pts/2 00:00:00 grep mysql
[root@xjfw3 ~]#
十、登录数据库并修改密码
[root@xjfw3 ~]# /weblogic/mysql/mysql/bin/mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.7.20-log Source distribution
Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> alter user 'root'@'localhost' identified by 'mysql';
Query OK, 0 rows affected (0.00 sec)
mysql>
十一、修改环境变量
[root@xjfw3 ~]# vi /etc/profile
PATH=/weblogic/mysql/mysql/bin:/weblogic/mysql/mysql/lib:$PATH
export PATH
"/etc/profile" 80L, 1868C written
[root@xjfw3 ~]# source /etc/profile
[root@xjfw3 ~]#