主机配置说明:
192.168.136.101 mysql01 centos7.9 2C4G 192.168.136.102 mysql02 centos7.9 2C4G 防火墙主机互相放行 firewall-cmd –zone=public –permanent –add-rich-rule=’rule family=”ipv4″ source address=”192.168.136.101″ accept’ |
两台主机的配置都是一样,操作也一样,同步配置即可
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
5、开始配置主从复制
# 首先两个主机同步配置一个管理账号,用于配置主从复制
CREATE USER ‘rep’@’xxxx’ IDENTIFIED BY ‘Kab5Z%i1wZ$fWvo5’;
CREATE USER ‘rep’@’xxxxxx’ IDENTIFIED BY ‘Kab5Z%i1wZ$fWvo5’;
grant all on *.* to ‘rep’@’xxxxx’;
grant all on *.* to ‘rep’@’xxxxx’;
# 用上面的账号密码配置主从同步
登录主节点,查看当前的binlog文件和post位置
show master status;
然后配置下面的语句,登录到从节点输入配置
CHANGE MASTER TO
MASTER_HOST=’xxxxx’,
MASTER_USER=’rep’,
MASTER_PASSWORD=’Kab5Z%i1wZ$fWvo5′,
MASTER_LOG_FILE=’mysql-bin.000001′,
MASTER_LOG_POS=154;
start slave;
show slave status;
主从配置异常:Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be different for replication to work.
这里由于我的两个主机,是直接cope安装目录过去的,所有这个auto.cnf配置文件时一样的,需要修改里面的uuid值,可以通过selec uuid()获取一个uuid,然后将这个uuid值配置到auto.cnf文件里面,然后重启mysql服务,然后重新配置主从连接
6、开始验证主从配置是否生效
在主库中创建表,写入数据等操作,查看主从是否可以正常
1.本站内容仅供参考,不作为任何法律依据。用户在使用本站内容时,应自行判断其真实性、准确性和完整性,并承担相应风险。
2.本站部分内容来源于互联网,仅用于交流学习研究知识,若侵犯了您的合法权益,请及时邮件或站内私信与本站联系,我们将尽快予以处理。
3.本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
4.根据《计算机软件保护条例》第十七条规定“为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。”您需知晓本站所有内容资源均来源于网络,仅供用户交流学习与研究使用,版权归属原版权方所有,版权争议与本站无关,用户本人下载后不能用作商业或非法用途,需在24个小时之内从您的电脑中彻底删除上述内容,否则后果均由用户承担责任;如果您访问和下载此文件,表示您同意只将此文件用于参考、学习而非其他用途,否则一切后果请您自行承担,如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。
5.本站是非经营性个人站点,所有软件信息均来自网络,所有资源仅供学习参考研究目的,并不贩卖软件,不存在任何商业目的及用途
暂无评论内容