一 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数据结构初始化

#那么源码编译部分内容就完成了,其他学习内容前往主页查看

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐