MySQL 集群技术 1.源码编译
·
一 MySQL 在服务器中的部署方法
在企业中 90%的服务器操作系统均为 Linux
Mysql 版本使用最多的是 Mysql5.7 和 Mysql8
在企业中对于 Mysql 的安装通常用源码编译的方式来进行
官网: http://www.mysql.com
1.下载MySQL8.3版源码包



2.虚拟机硬件配置

#登录开启虚拟机。
3.安装并编译mysql
#上传并解压源包
[root@mysql-1 ~]# ls
anaconda-ks.cfg libtirpc-devel-1.3.3-9.el9.x86_64.rpm mysql-boost-8.3.0.tar.gz
[root@mysql-1 ~]# tar -xvf mysql-boost-8.3.0.tar.gz
[root@mysql-1 ~]# ls
anaconda-ks.cfg libtirpc-devel-1.3.3-9.el9.x86_64.rpm mysql-8.3.0 mysql-boost-8.3.0.tar.gz
#进入并建立build文件夹
[root@mysql-1 ~]# cd mysql-8.3.0/
[root@mysql-1 mysql-8.3.0]# ls
boost Docs libbinlogevents mysql-test run_doxygen.cmake support-files
client Doxyfile-ignored libchangestreams MYSQL_VERSION scripts testclients
cmake Doxyfile.in libmysql mysys share unittest
CMakeLists.txt doxygen_resources libs packaging sql utilities
components extra libservices plugin sql-common vio
config.h.cmake include LICENSE README storage
configure.cmake INSTALL man router strings
[root@mysql-1 mysql-8.3.0]# mkdir build/
[root@mysql-1 mysql-8.3.0]# cd build/
#安装mysql源码包依赖性
[root@mysql-1 ~]# ls
anaconda-ks.cfg libtirpc-devel-1.3.3-9.el9.x86_64.rpm mysql-8.3.0 mysql-boost-8.3.0.tar.gz
[root@mysql-1 ~]# dnf install libtirpc-devel-1.3.3-9.el9.x86_64.rpm -y
[root@mysql-1 ~]# dnf install cmake3 gcc git bison openssl-devel ncurses-devel systemd-devel rpcgen.x86_64 gcc-toolset-12-gcc gcc-toolset-12-gcc-c++ gcc-toolset-12-binutils gcc-toolset-12-annobin-annocheck gcc-toolset-12-annobin-plugin-gcc -y
#源码编译参数
[root@mysql-1 ~]# cd mysql-8.3.0/
[root@mysql-1 mysql-8.3.0]# cd build/ #建立编译目录
[root@mysql-1 build]# ls
[root@mysql-1 build]# cmake3 .. \
> -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ #指定安装路径
> -DMYSQL_DATADIR=/data/mysql \ #指定数据目录
> -DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \ #指定套接字文件
> -DWITH_INNOBASE_STORAGE_ENGINE=1 \ #指定启用INNODB存储引擎,默认用myisam
> -DWITH_EXTRA_CHARSETS=all \ #扩展字符集
> -DDEFAULT_CHARSET=utf8mb4 \ #指定默认字符集
> -DDEFAULT_COLLATION=utf8mb4_unicode_ci \ #指定默认校验字符集
> -DWITH_SSL=system \ #指定MySQL 使用系统已安装的SSL 库
> -DWITH_DEBUG=OFF
[root@mysql_node1 build]# make -j2 #-j2 表示有几个核心就跑几个进程
#编译完成之后,需要安装编译好的文件内容
[root@mysql_node1 build]# make install
#在系统进行编译时,不要动它,直到编译到100% !
4.部署MySQL
#修改环境变量
[root@mysql-1 mysql]# vim ~/.bash_profile
export PATH=$PATH:/usr/local/mysql/bin #设置mysql运行环境的环境变量
[root@mysql-1 mysql]# source ~/.bash_profile
#建立数据库程序运行用户
[root@mysql-1 mysql]# useradd -M -s /sbin/nologin mysql
[root@mysql-1 mysql]# cd
#建立数据库数据目录
[root@mysql-1 ~]# mkdir -p /data/mysql/
[root@mysql-1 ~]# chown mysql.mysql /data/mysql/
#生成配置文件
[root@mysql-1 ~]# vim /etc/my.cnf
[mysqld]
datadir=/data/mysql
socket=/data/mysql/mysql.sock
server-id=10
#设置启动文件
[root@mysql-1 ~]# vim /lib/systemd/system/mysqld.service
[Unit]
Description=MySQL 8.3 Database Server
Documentation=man:mysqld(8)
After=network.target syslog.target
[Service]
Type=notify
User=mysql
Group=mysql
# 重点:--defaults-file 必须放在第一个参数!
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
ExecReload=/usr/local/mysql/bin/mysqladmin --defaults-file=/etc/my.cnf shutdown
TimeoutSec=300
PrivateTmp=true
LimitNOFILE=65535
LimitNPROC=65535
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
#mysql数据结构初始化
#那么源码编译部分内容就完成了,其他学习内容前往主页查看
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐


所有评论(0)