1、下载MySQL源码安装包
#mysql安装包
[root@localhost home]# wget https://downloads.mysql.com/archives/get/p/23/file/mysql-boost-5.7.44.tar.gz
[root@localhost home]# tar -zxvf mysql-boost-5.7.44.tar.gz
#boost安装包
[root@localhost home]# wget http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz
[root@localhost home]#tar -zxf boost_1_59_0.tar.gz
[root@localhost home]# mv boost_1_59_0/ /usr/local/
2、安装前准备工作
1、创建MySQL用户和组
sudo groupadd mysql
sudo useradd -r -g mysql -s /bin/false mysql
2、创建文件路径
mkdir -p /data/mysql # mysql数据路径
mkdir -p /data/mysql_data # mysql服务路径
mkdir -p /var/run/mysql # mysql pid路径
mkdir -p /var/log/mysql # mysql log路径
3、安装扩展依赖
yum install -y cmake
yum install ncurses ncurses-devel -y
yum install -y libarchive
yum install -y gcc gcc-c++
yum install -y openssl openssl-devel
yum install -y libtirpc libtirpc-devel
4、卸载mariadb
rpm -e mariadb-libs-5.5.56-2.el7.x86_64
# 卸载时发现依赖一并卸掉
rpm -e mariadb-libs-5.5.56-2.el7.x86_64 postfix-2:2.10.1-6.el7.x86_64
5、编译安装
cmake \
-DCMAKE_INSTALL_PREFIX=/data/mysql \
-DMYSQL_DATADIR=/data/mysql_data \
-DWITH_BOOST=/usr/local/boost_1_59_0 \
-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
6、编辑环境变量
[root@localhost ~]# vi /etc/profile
#行尾添加
export PATH=$PATH:/data/mysql/bin/
[root@localhost ~]# source /etc/profile
7、添加配置文件、设置开机自启
#添加配置文件
[root@localhost home]# cp /data/mysql/support-files/mysql.server /etc/init.d/mysqld
#设置开机自启
[root@localhost home]# chmod +x /etc/init.d/mysqld
[root@localhost home]# chkconfig --add mysqld
8、赋权
chown -R mysql:mysql /data/mysql
chown -R mysql:mysql /data/mysql_data
9、编辑my.cnf配置文件
[client]
port=3306
[mysql]
default-character-set=utf8
[mysqld]
port=3306
basedir=/data/mysql
datadir=/data/mysql_data
character-set-server=utf8
default-storage-engine=InnoDB
max_connections=512
query_cache_size=0
tmp_table_size=18M
thread_cache_size=8
myisam_max_sort_file_size=64G
myisam_sort_buffer_size=35M
key_buffer_size=25M
read_buffer_size=64K
read_rnd_buffer_size=256K
sort_buffer_size=256K
innodb_flush_log_at_trx_commit=1
innodb_log_buffer_size=1M
innodb_buffer_pool_size=47M
innodb_log_file_size=24M
innodb_thread_concurrency=8
10、启动mysql
mysqld_safe --defaults-file=/etc/my.cnf &
11、登录MySQL,设置root密码
[root@localhost ~]# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.44 Source distribution
Copyright (c) 2000, 2023, Oracle and/or its affiliates.
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>
mysql> SET PASSWORD = PASSWORD('123456');
Query OK, 0 rows affected, 1 warning (0.00 sec)