centos7 源码编译安装 mysql5.7配置主从复制

centos7 源码编译安装 mysql5.7配置主从复制

安装

安装依赖包

yum install -y  gcc gcc-c++ cmake ncurses ncurses-devel bison

下载相应源码包
mysql5.7 编译安装需要boost 库,这里官网下载含boost的源码包
在这里插入图片描述
这里提供下载地址

https://downloads.mysql.com/archives/community/

添加用户

useradd -s /sbin/nologin mysql

建立所需目录并更改所有者为mysql

mkdir -p /home/mysqldata
chown -R mysql:mysql /home/mysqldata

将下载好的mysql 解压到/usr/local/mysql 目录下

tar -zxvf mysql-boost-5.7.28.tar.gz -C /usr/local/mysql/

切换到/usr/local/mysql/mysql-5.7.28/ 目录下,编译安装

cd /usr/local/mysql/mysql-5.7.28/
cmake -DDEFAULT_CHARSET=utf8mb4 -DDEFAULT_COLLATION=utf8mb4_bin -DW

在这里插入图片描述

make && make install

安装好后的/usr/local/mysql 目录结构
在这里插入图片描述

配置

编辑/etc/my.cnf ( 如果没有则创建)
web01(我的主机)mysql主库配置文件内容如下

[root@cq13 admin]# cat /etc/my.cnf
[client]
port = 3349
socket = /usr/local/mysql/tmp/mysql.sock
default-character-set = utf8mb4

[mysqld]
user = mysql
port = 3349
basedir = /usr/local/mysql
datadir = /home/mysqldata
tmpdir = /usr/local/mysql/tmp
socket = /usr/local/mysql/tmp/mysql.sock
pid-file = /usr/local/mysql/tmp/mysql.pid
character_set_server = utf8mb4
collation_server = utf8mb4_bin
default-time-zone = system
#开启binlog日志
log-bin = /home/mysqldata/logs/mysql-bin.log
server-id = 13
#日志的保存时间
expire_logs_days = 10
#日志的最大大小
max_binlog_size = 500M

[mysqld_safe]
log-error = /home/mysqldata/logs/mysql.err

[mysqldump]
user = root
password = ***** ##自己设置密码

web02(我的备机)mysql从库配置文件内容如下

[admin@cq14 ~]$ cat /etc/my.cnf 
[client]
port = 3349
socket = /usr/local/mysql/tmp/mysql.sock
default-character-set = utf8mb4

[mysqld]
user = mysql
port = 3349
basedir = /usr/local/mysql
datadir = /home/mysqldata
tmpdir = /usr/local/mysql/tmp
socket = /usr/local/mysql/tmp/mysql.sock
pid-file = /usr/local/mysql/tmp/mysql.pid
character_set_server = utf8mb4
collation_server = utf8mb4_bin
default-time-zone = system
server-id = 14
expire_logs_days = 10
max_binlog_size = 500M

[mysqld_safe]
log-error = /home/mysqldata/logs/mysql.err

创建配置文件中需要的目录,将目录用户和组更改为mysql

以下都是主从相同的操作

mkdir -p /usr/local/mysql/tmp
chown -R mysql:mysql /usr/local/mysql/

注:/home/mysqldata目录下一定要为空才行

cd /usr/local/mysql/bin
./mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/home/mysqldata/

注:到这一步很容易出问题,在初始化的时候一定要加上面的参数,而且在执行这一步操作前/home/mysqldata 这个目录必须是空的;在这里指定的basedir 和 datadir 目录必须要和/etc/my.cnf 配置的目录一直才行。

拷贝可执行配置文件

cd /usr/local/mysql/support-files/
cp mysql.server /etc/init.d/mysqld

在这里插入图片描述
注:有些网友文章在这一步中会写到从/usr/local/mysql/support-files 这个目录复制my-default.cnf 到/etc/下作为my.cnf 配置文件,我这里没有这个文件,所以直接在配置环节,自己配置了一个my.cnf文件。

创建日志文件目录

mkdir -p /home/mysqldata/logs/
touch /home/mysqldata/logs/mysql.err
chown -R mysql:mysql /home/mysqldata/

启动

service mysqld start

测试连接不用密码直接回车

cd /usr/local/mysql/bin/
./mysql -hlocalhost -uroot -p

在这里插入图片描述
测试连接无需密码即可连接成功

修改环境变量
在/etc/profile 中新增一行

PATH=/usr/local/mysql/bin:$PATH

保存退出,永久生效

source /etc/profile

设置开机自启动

systemctl enable mysqld

至此mysql安装完毕,
高可用搭建见另一篇博客MySQL高可用主从搭建

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值