mysql主从搭建

主机配置说明:

|-------------------------------------------------------------------------------------|
| 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

相关推荐
Umi·1 小时前
MySQL库表操作
数据库·mysql
晚风吹北巷1 小时前
Linux复习篇(自用)
linux·运维·服务器·1024程序员节
星光开发者1 小时前
基于springboot智慧草场牛羊管理系统-计算机毕设【课程设计】50360
vue.js·spring boot·后端·mysql·php·课程设计·express
by209992 小时前
Linux 压缩传输、进程查看与权限管理
linux·经验分享·1024程序员节
无足鸟ICT2 小时前
【RHCA+】reboot命令(重启)
linux·运维·服务器·1024程序员节
猫咪很可爱2 小时前
MySQL 视图与只读用户:安全查询的完整实践指南
数据库·sql·mysql
猫咪很可爱3 小时前
MySQL 5.7 备份恢复后函数与存储过程丢失:原因分析与正确备份姿势
数据库·mysql·bug·shell
DYWorker0013 小时前
第1课:基于正点原子RK3568开发板读懂Linux内核
linux·运维·网络
Android系统攻城狮3 小时前
Linux FFmpeg深度解析之avformat_open_input调用流程与实战(一)
linux·运维·ffmpeg·车载音视频·ffmpeg音视频·音视频进阶手册
吹什么轩4 小时前
linux系统复习:Ext 文件系统(一个文件在磁盘上到底长什么样)
linux·运维·服务器