当前位置: 首页 > java >正文

源码部署mysql8.0.40

操作系统MySQL版本
RHEL7.98.0.40

(1)安装编译mysql所需软件包

#安装mysql8的依赖软件
[root@master ~]# yum install  -y git bison openssl-devel ncurses-devel -y#安装cmake3
[root@master ~]# cat  /etc/yum.repos.d/epel.repo
[epel]
name=epel
baseurl=https://mirrors.aliyun.com/epel/7/x86_64/
gpgcheck=0
[root@master ~]# yum install  cmake3 -y
#安装gcc11,找到相关的rpm包上传至linux后解压并安装
[root@master ~]# ls gcc-11.zip
gcc-11.zip
[root@master ~]# unzip gcc-11.zip
[root@master ~]# ll gcc-11
total 55984
-rw-r--r-- 1 root root  6607544 Jul 19 11:56 devtoolset-11-binutils-2.36.1-1.el7.2.x86_64.rpm
-rw-r--r-- 1 root root 33872612 Jul 19 11:56 devtoolset-11-gcc-11.2.1-9.el7.x86_64.rpm
-rw-r--r-- 1 root root 13074320 Jul 19 11:56 devtoolset-11-gcc-c++-11.2.1-9.el7.x86_64.rpm
-rw-r--r-- 1 root root  3739724 Jul 19 11:56 devtoolset-11-libstdc++-devel-11.2.1-9.el7.x86_64.rpm
-rw-r--r-- 1 root root    20580 Jul 19 11:56 devtoolset-11-runtime-11.1-2.el7.x86_64.rpm[root@master ~]# cd  gcc-11/
[root@master gcc-11]# yum install ./*.rpm[root@master ~]# source  /opt/rh/devtoolset-11/enable
[root@master gcc-11]# cat /opt/rh/devtoolset-11/enable  >> ~/.bash_profile
[root@master gcc-11]# gcc -v
gcc version 11.2.1 20220127 (Red Hat 11.2.1-9) (GCC)

(2)编译安装mysql8.0.40

上传mysql源码包至linux并解压

[root@master opt]# ls mysql-boost-8.0.40.tar.gz
mysql-boost-8.0.40.tar.gz
[root@master opt]# tar xf mysql-boost-8.0.40.tar.gz
[root@master opt]# cd  mysql-8.0.40/
[root@master mysql-8.0.40]# mkdir bld
[root@master mysql-8.0.40]# cd bld
[root@master bld]#  cmake3 .. \
-DWITH_BOOST=../boost/boost_1_77_0/ \    #指定MySQL 源码编译所依赖的 Boost 库的路径
-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_BOOST=bundled \									#指定使用 MySQL 源码包中内置的Boost库
[root@master  bld]# make  -j 2  ########该过程很久,请耐心等待,利用多核 CPU 资源同时运行 2 个编译进程
[root@master  bld]# make install
#生成启动脚本
[root@master ~]# cp  /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
#修改环境变量
[root@master ~]# vim /etc/profile
export PATH=$PATH:/usr/local/mysql/bin
[root@master ~]# source /etc/profile#建立数据库程序运行用户
[root@master ~]# useradd -M -s /sbin/nologin mysql#建立数据库数据目录
[root@master ~]# mkdir -p /data/mysql/
[root@master ~]# chown mysql.mysql -R /data/#创建配置文件
[root@master ~]# cat /etc/my.cnf
[mysqld]
datadir=/data/mysql   #指定数据目录
socket=/data/mysql/mysql.sock   #指定套接字
server_id=200
log-bin=binlog
#数据库初始化建立mysql基本数据,注意在输出中查看临时密码
[root@master ~]# mysqld --initialize --user=mysql
#启动数据库
[root@master ~]# /etc/init.d/mysqld  start
Starting MySQL.Logging to '/data/mysql/master.err'.
. SUCCESS!#修改数据库密码,新密码为123
[root@master ~]# mysqladmin -uroot -p password  '123'
#使用新密码登录数据库
[root@master ~]# mysql -uroot -p123
mysql>
  • 注意:缺少的依赖可以从https://pkgs.org/获取
http://www.xdnf.cn/news/20477.html

相关文章:

  • 如何客观判断自身选择的方法可持续成长和收获?
  • RPC 和 HTTP 的区别
  • 网络中的PAT:小端口映射的大能量
  • 4.存储虚拟化
  • Linux系统检测硬盘失败解救方法
  • 计算机组成原理:计算机硬件的基本组成
  • 零基础学习数据采集与监视控制系统SCADA
  • 【C++】vector 深度剖析及模拟实现
  • Jmeter性能测试
  • 【读文献】Buffer和level shift的偏置电压设计
  • Day21 保护操作系统
  • 【01背包问题变体】P1282 多米诺骨牌
  • MySQL集群高可用架构之组复制 (MGR)
  • 校园洒水车cad+三维图+设计说书
  • 金属也有“记忆力”?—聊聊二合一玛哈特矫平机如何“消除”金属的记忆
  • 修复存在坏块或05、C4、C5 S.M.A.R.T错误的硬盘
  • Spring Cloud Alibaba快速入门02-Nacos
  • FRCNet
  • Fab资源快速导入UE
  • Shell 脚本实现系统监控与告警
  • Spring Boot中MyBatis的定义与使用
  • IOC为什么交由spring容器管理?
  • 操作系统研发工作心得体会 - 于复杂性中构建秩序
  • 每日一题(2)
  • MySQL学习记录-索引
  • 携程社招前端面经
  • pthread_detach函数
  • 2025最新超详细FreeRTOS入门教程:第二章 FreeRTOS任务创建
  • 设计一个 AB 测试平台
  • 实例和对象的区别