源码编译安装mysql5.7.34
一、下载软件安装包
1.官网下载源码包:https://downloads.mysql.com/archives/community/
2.下载cmake 、boost。我只利用的版本为cmake-3.8.0-rc2.tar.gz和boost_1_59_0.tar.gz
3.将安装包上传至主机/iddbs/soft 这里管理mysql的主机用户为iddbs
4.创建用户
make /iddbs
useradd -d /iddbs iddbs
cp /etc/skel/.bash* /iddbs
二、安装
1.安装基础依赖
yum install -y pcre pcre-devel zlib zlin-devel gcc gcc-c++
yum install -y ncurses-devel openssl-devel
2.安装cmake
cd /iddbs/soft
tar -zxf cmake-3.8.0-rc2.tar.gz
cd /iddbs/soft/cmake-3.8.0-rc2
./bootstrap
make && make install
3.安装mysql
cd /iddbs/soft/
tar -zxf boost_1_59_0.tar.gz
tar -zxf mysql-5.7.34.tar.gz
cd /iddbs/soft/mysql-5.7.34
cmake . -DCMAKE_INSTALL_PREFIX=/iddbs/mysql -DWITH_BOOST=/iddbs/boost_1_59_0
make
make install
4.为/iddbs用户赋权
chown -R iddbs.iddbs /iddbs
三、启动mysql(一下操作切换到iddbs用户)
su - iddbs
1.创建配置文件
mkdir /iddbs/mysql/etc
cd /iddbs/mysql/etc
touch my.cnf (配置文件可参考之前的文章)
cat /my.cnf
[mysqld]
basedir=/iddbs
datadir=/iddbs/data3306
port=3306
server_id=1
socket=/iddbs/mysql/data3306/mysql.sock
pid-file=/iddbs/mysql/data3306/mysql.pid
log-error=/iddbs/mysql/data3306/mysqld.err
log-bin=/iddbs/mysql/data3306/mysql-bin
relay_log= /iddbs/mysql/data3306/mysql-relay-bin
character-set-server=utf8
collation-server=utf8_general_ci
user=iddbs
expire_logs_days=7
max_connections = 500
3.更改环境变量
su - iddbs
echo 'LANG=Zh_CN.UTF-8' >>.bash_profile
echo 'export LANG' >>.bash_profile
vim .bash_profile
PATH=$PATH:$HOME/.local/bin:$HOME/bin:/iddbs/mysql/bin
source .bash_profile
3.mysql初始化
mysqld --initialize-insecure --user=iddbs --explicit_defaults_for_timestamp=1 --basedir=/iddbs/mysql --datadir=/iddbs/mysql/data3306
4.启动mysql
mysqld_safe --defaults-file=/iddbs/mysql/etc/my.cnf --user=iddbs &
5查看启动是否成功
[iddbs@localhost data3306]$ netstat -antp | grep 3306
tcp6 0 0 :::3306 :::* LISTEN 39977/mysqld
6.测试登录:
[iddbs@localhost data3306]$ mysql -hlocalhost -uroot --socket=/iddbs/mysql/data3306/mysql.sock
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.34-log Source distribution
Copyright (c) 2000, 2021, 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>
登陆成功!
其他可选参数:
cmake . -DCMAKE_INSTALL_PREFIX=/mysql -DMYSQL_DATADIR=/mysql/data -DSYSCONFDIR=/mysql/etc -DWITH_BOOST=/usr/local/boost -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DMYSQL_UNIX_ADDR=/mysql/data/mysql.sock -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_SYSTEMD=1