1.MySQL版本号介绍
如:5.5.60这个版本的MySQL说明版本号的每个数字含义(mysql-5.5.60.tar.gz)。
第一个数字(5)主版本号
:文件格式改动时,将作为新的版本发布(5.5.60);
第二个数字(5)发行版本号
:新增特性或者改动不兼容时,发行版本号需要更改(5.5.60);
第三个数字(60)发行序列号
:主要是小的改动,如bug的修复、函数添加或更改、配置参数的更改等(5.5.60)。
2.MySQL编译环境
1.创建mysql的安装包目录
mkdir -p /usr/local/src/mysql
2.安装编译安装环境依赖包
yum -y install gcc gcc-c++ make glibc automake autoconf libtool libssl-dev openssl openssl-devel
3.软件包的下载
cd /usr/local/src/mysql yum install -y wget yum install -y ca-certificates # 解决wget下载出的问题(颁发的证书已经过期。要以不安全的方式连接至 downloads.sourceforge.net,使用“--no-check-certificate”。)
下载boost(C++的扩展包)
wget https://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz
下载cmake(跨平台的安装(编译)工具)
wget https://cmake.org/files/LatestRelease/cmake-3.22.1.tar.gz
下载mysql包
wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.37.tar.gz
查看下载的软件包
ls
4.安装cmake
1.安装cmake
tar -zxvf cmake-3.22.1.tar.gz cd cmake-3.22.1 ./bootstrap gmake gmake install
2.查看cmake版本
cmake -version
3.解压boost库到/usr/local/目录
cd ../ tar xf boost_1_59_0.tar.gz -C /usr/local/ cd /usr/local/ mv boost_1_59_0/ boost cd boost ls -l
5.编译安装MySQL
1.先安装编译MySQL依赖的包
yum install -y ncurses-devel gcc gcc-c++ ncurses bison make
2.创建安装MySQL相关目录
mkdir -p /database/mysql/{data,tmp,binlog,logs}
查看目录的结构
yum install -y tree tree -L 2 /database/
3.创建MySQL组和用户(已存在就跳过)
useradd mysql useradd mysql -s /sbin/nologin -M -g mysql id mysql
4.解压MySQL源码包
cd /usr/local/src/mysql tar -zxvf mysql-5.7.37.tar.gz
5.cmake编译MySQL
cd mysql-5.7.37 cmake . -DCMAKE_INSTALL_PREFIX=/database/mysql \ -DMYSQL_DATADIR=/database/mysql/data \ -DMYSQL_UNIX_ADDR=/database/mysql/tmp/mysql.sock \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci \ -DEXTRA_CHARSETS=gbk,gb2312,utf8,ascii \ -DENABLED_LOCAL_INFILE=ON \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_FEDERATED_STORAGE_ENGINE=1 \ -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \ -DWITHOUT_PARTITION_STORAGE_ENGINE=1 \ -DWITH_FAST_MUTEXES=1 \ -DWITH_ZLIB=bundled \ -DENABLED_LOCAL_INFILE=1 \ -DWITH_READLINE=1 \ -DWITH_EMBEDDED_SERVER=1 \ -DWITH_DEBUG=0 \ -DDOWNLOAD_BOOST=1 \ -DWITH_BOOST=/usr/local/boost
6.安装MySQL
make install
7.编译的相关参数
官网上查找
6.配置MySQL系统环境变量
echo 'export PATH=/database/mysql/bin:$PATH' >> /etc/profile tail -1 /etc/profile source /etc/profile echo $PATH
7.初始化MySQL数据库
1.更改MySQL安装目录的属主和属组
chown -R mysql:mysql /database/mysql/
2.修改MySQL配置文件的属组和属主
chown mysql:mysql /etc/my.cnf
3.修改MySQL配置文件
cp /etc/my.cnf /etc/my.cnf.bak vi /etc/my.cnf
# 写入如下内容(解释版): [client] port = 3306 # 连接端口号 socket = /database/mysql/mysql.sock # 用于本地连接的socket套接字 default-character-set = utf8 # 编码 [mysqld] port = 3306 # 服务端口号 server_id = 1 # MySQL服务的唯一编号,每个mysql服务ID需唯一 user = mysql # 启动用户 basedir = /database/mysql # mysql安装根目录 datadir = /database/mysql/data # mysql数据文件所在位置 tmpdir = /database/mysql/tmp # MySQL存放临时文件的目录 socket = /database/mysql/mysql.sock # 为MySQL客户端程序和服务器之间的本地通讯指定一个套接字文件 pid_file = /database/mysql/mysql.pid # pid文件所在目录 character_set_server = utf8 # 数据库默认字符集 max_connections = 100 # 最大连接数 max_connect_errors = 10 # 最大错误连接数 log_error = /database/mysql/logs/mysql_5_7_37.err # mysql生成错误日志存放的路径 log_bin = /database/mysql/binlog/mysql-bin # 开启二进制日志功能
# 写入如下内容(命令版): [client] port = 3306 socket = /database/mysql/mysql.sock default-character-set = utf8 [mysqld] port = 3306 server_id = 1 user = mysql basedir = /database/mysql datadir = /database/mysql/data tmpdir = /database/mysql/tmp socket = /database/mysql/mysql.sock pid_file = /database/mysql/mysql.pid character_set_server = utf8 max_connections = 100 max_connect_errors = 10 log_error = /database/mysql/logs/mysql_5_7_37.err log_bin = /database/mysql/binlog/mysql-bin
4.初始化MySQL数据库
cd /database/mysql/ ./bin/mysql --initialize-insecure --user=mysql --basedir=/database/mysql --datadir=/database/mysql/data
# 生成初始化密码参数(5.7版本才有),必须添加(--initialize-insecure) # 设定初始化用户(--user=mysql) # 设定mysql工作目录(--basedir=/database/mysql) # 设定数据文件目录(--datadir=/database/mysql/data)
5.MySQL实例开启SSL连接
cd /database/mysql/ ./bin/mysql_ssl_rsa_setup --initialize-insecure --user=mysql --basedir=/database/mysql --datadir=/database/mysql/data
6.修改server-key.pem文件权限
cd /database/mysql/data/ chmod +r server-key.pem ls -l server-key.pem
7.启动MySQL数据库
拷贝启动脚本到/etc/init.d/目录下
cd /database/mysql/ cp support-files/mysql.server /etc/init.d/mysql ls -l /etc/init.d/mysql
重新加载系统服务,将MySQL数据库加入开机自启动
systemctl daemon-reload systemctl enable mysql /sbin/chkconfig mysql on
启动MySQL数据库
/etc/init.d/mysql start # 开启 或者 /etc/init.d/mysql stop # 停止 /etc/init.d/mysql start
检查端口3306,mysql是否开启
ps aux | grep mysqld lsof -i:3306
感谢大家,点赞,收藏,关注,评论!