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

相关推荐
某风吾起16 分钟前
Linux 消息队列的使用方法
java·linux·运维
新知图书43 分钟前
MySQL用户授权、收回权限与查看权限
数据库·mysql·安全
文城5211 小时前
Mysql存储过程(学习自用)
数据库·学习·mysql
沉默的煎蛋1 小时前
MyBatis 注解开发详解
java·数据库·mysql·算法·mybatis
C语言扫地僧1 小时前
MySQL 事务及MVCC机制详解
数据库·mysql
小镇cxy1 小时前
MySQL事物,MVCC机制
数据库·mysql
Golinie1 小时前
【C++高并发服务器WebServer】-2:exec函数簇、进程控制
linux·c++·webserver·高并发服务器
Icoolkj2 小时前
微服务学习-Nacos 注册中心实战
linux·学习·微服务
Moniicoo2 小时前
Linux中关于glibc包编译升级导致服务器死机或者linux命令无法使用的情况
linux·运维·服务器
雾里看山2 小时前
【MySQL】 库的操作
android·数据库·笔记·mysql