首页 > 数据库 >mysql主从搭建

mysql主从搭建

时间:2024-07-12 14:42:06浏览次数:13  
标签:lib -- mysqld mysql DWITH 搭建 主从 data01

主机配置说明:

192.168.136.101  mysql01  centos7.9  2C4G
192.168.136.102  mysql02  centos7.9  2C4G

 

1、源码包下载,下载带boost,不然这个boost有的搞,小白不建议尝试
MySQL :: Download MySQL Community Server (Archived Versions)

2、安装需要的编译包
yum install -y gcc gcc-c++ cmake bison ncurses-devel perl openssl-devel

3、开始编译安装
cmake . -DCMAKE_INSTALL_PREFIX=/data01/mysql/mysql -DMYSQL_UNIX_ADDR=/data01/mysql/mysql/mysql.sock -DSYSCONFDIR=/data01/mysql/conf -DSYSTEMD_PID_DIR=/data01/mysql/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 -DMYSQL_DATADIR=/data01/mysql/mysql/data -DWITH_BOOST=/root/source/mysql/mysql-5.7.44/boost -DWITH_SYSTEMD=1
cmake编译成功后是这个截图

然后开始安装
make -j4 && make install # 大概要20分钟以上,我这里实际花了十几分钟

# 新增一个mysql用户
useradd -s /sbin/nologin mysql
# 配置MySQL的配置文件
vi /data01/mysql/conf/my.cnf

[mysqld] #服务全局设置
user=mysql #设置管理用户
basedir=/data01/mysql/mysql #指定数据库的安装目录
datadir=/data01/mysql/mysql/data #指定数据库文件的存储路径
port=3306 #指定端口
character-set-server=utf8 #设置服务器字符集编码格式为utf8
pid-file=/data01/mysql/mysql/mysqld.pid #指定pid 进程文件路径
socket=/data01/mysql/mysql/mysql.sock #指定数据库连接文件
bind-address = 0.0.0.0 #设置监听地址,0.0.0.0代表允许所有,如允许多个IP需空格隔开
skip-name-resolve #禁用DNS解析
max_connections=2048 #设置mysql的最大连接数
default-storage-engine=INNODB #指定默认存储引擎
max_allowed_packet=16M #设置数据库接收的数据包大小的最大值
server-id = 1 #指定服务ID号

# 修改安装目录的权限所属
chown mysql:mysql -R /data01/mysql/
# 初始化数据库
/data01/mysql/mysql/bin/mysqld --initialize --user=mysql -–basedir=/data01/mysql/mysql -–datadir=/data01/mysql/mysql/data 
# 记录返回的初始密码
# 启动数据库

cp /data01/mysql/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/
chmod 755 /usr/lib/systemd/system/mysqld.service
cp /data01/mysql/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/
chmod 755 /usr/lib/systemd/system/mysqld.service
# 修改mysqld.service加上下面的两个路径
/data01/mysql/mysql/bin/mysqld --daemonize --pid-file=/data01/mysql/mysql/mysqld.pid --basedir=/data01/mysql/mysql --datadir=/data01/mysql/mysql/data(这个改成下面的,sock配置就能正确加载位置了)
/data01/mysql/mysql/bin/mysqld --defaults-file=/data01/mysql/conf/my.cnf --daemonize 

systemctl daemon-reload
systemctl start mysqld
# 登录检查数据库是否可用(输入初始化的安装密码)
mysql -uroot -p -h localhost -P3306 (这里的sock文件没有在指定的安装目录,后面研究一下)
find / -name mysql.sock
mysql -uroot -p -h localhost -P3306 -S /var/lib/mysql/mysql.sock

 # 接下可以修改root密码和配置其他用户管理操作
alter user root@localhost IDENTIFIED BY 'xxxx';
# 接下来就可以愉快的玩耍了

4、配置各种日志记录

# 开启慢查询日志记录
slow_query_log = 1
slow_query_log_file = /data01/mysql/mysql/logs/slow_log/mysql-slow.log
long_query_time = 2
# 开启错误日志输出记录
log_error= /data01/mysql/mysql/logs/error.log
# 开启binlog日志记录
log_bin = /data01/mysql/mysql/logs/binlog/mysql-bin.log
max_binlog_size = 10M
expire_logs_days = 7

 

标签:lib,--,mysqld,mysql,DWITH,搭建,主从,data01
From: https://www.cnblogs.com/zyp87/p/18295559

相关文章

  • 不用服务器 | 我搭建了一个属于自己的GPT聊天应用!!!
    原文地址:aiutools.fun/archives/5118平台限制部分内容未显示,详情请访问原文。展示不废话,直接上干货!我这里搭建的LobeChat支持聊天TTS&STT语音会话文生图各种优秀的插件下面搭建好的样子前期准备需要一个gpt的api,没有可以看后面的教程推荐不用服务器注册云......
  • 快速搭建企业监控系统(一):应用系统健康监控
    企业监控系统带来的好处故障预防和早期发现:通过实时监控关键指标,及时发现系统中的异常情况和潜在故障,并采取相应的措施进行预防或解决,以减少系统崩溃或停止运行的风险;性能优化:通过监控和分析系统的性能状况,识别瓶颈和性能问题,提供数据支持和优化建议,以提高系统的响应速度......
  • MySQL入门学习-深入索引.全值匹配
        在MySQL中,索引的全值匹配是指在查询中使用索引列的所有部分进行精确匹配。当查询条件中的列值与索引中的值完全匹配时,MySQL可以使用索引来快速定位和检索数据,从而提高查询性能。    以下是关于全值匹配的一些详细信息:一、概念:  -全值匹配是指在查......
  • MySQL入门学习-深入索引.唯一索引
        在MySQL中,索引是一种用于提高数据库查询性能的数据结构。深入了解索引对于优化数据库操作非常重要。以下是关于唯一索引的相关内容:一、概念:  -唯一索引是一种特殊的索引,它确保表中的某一列或列组合的值是唯一的,不允许出现重复值。二、特点:  -保证数......
  • 从0开始搭建博客
    1.概述本篇博客,我教大家从0开始搭建一个bolo博客,bolo博客和solo博客的区别是皮肤更加多,并且可以帐号密码登录。本篇博客主要的内容如下:linux安装docker,设置docker镜像加速docker安装nginxdocker的一些常用的命令docker安装mysql数据库docker安装solo博客......
  • 用微客云搭建一套外卖霸王餐系统赚CPS佣金
    在当下数字化快速发展的时代,外卖行业作为餐饮业的重要分支,正在经历着前所未有的变革。为了满足市场需求,提高用户体验和增加商户收入,越来越多的外卖平台开始寻求创新,其中,搭建一套高效、稳定且功能丰富的外卖霸王餐系统成为了不少企业的首选。本文将详细介绍如何使用微客云搭建一套......
  • MySQL 数据库的 DDL
    备份MySQL数据库的DDL(数据定义语言)语句包括导出数据库结构(如表、视图、触发器、存储过程和函数等),但不包括实际数据。通常使用mysqldump工具进行此类操作。以下是具体的方法:备份DDL1.导出数据库结构(不包括数据)使用mysqldump工具导出数据库结构,可以指定--no-data......
  • MySQL日志详解
    一、前言日志文件中记录着MySQL数据库运行期间发生的变化;包括MySQL数据库的客户端连接状况、SQL语句的执行情况和错误信息等,是MySQL数据库的重要组成部分。MySQL日志分类:错误日志查询日志慢查询日志事务日志(Redolog)二进制日志中继日志二、错误日志默认情况下,错误......
  • FILE+POS 方式 GreatSQL 主从复制架构给主节点磁盘扩容
    FILE+POS方式GreatSQL主从复制架构给主节点磁盘扩容一、前提在一套非常老的系统上,有一套GreatSQL主从集群(1主1从),主从复制采用的是FILE+POS方式复制,磁盘使用紧张需要扩容,只能在该台机器上添加更大的磁盘,将原数据盘替换,也没有其他的机器资源替换。这套系统没有VIP,没有高可用切......
  • MySQL中为什么要使用索引合并(Index Merge)?
    本文分享自华为云社区《【华为云MySQL技术专栏】MySQL中为什么要使用索引合并(IndexMerge)?》,作者:GaussDB数据库。在生产环境中,MySQL语句的where查询通常会包含多个条件判断,以AND或OR操作进行连接。然而,对一个表进行查询最多只能利用该表上的一个索引,其他条件需要在回表查询时进......