失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > linux安装主从mysql mysql8.0安装以及主从复制搭建(linux)

linux安装主从mysql mysql8.0安装以及主从复制搭建(linux)

时间:2021-09-28 21:26:44

相关推荐

linux安装主从mysql mysql8.0安装以及主从复制搭建(linux)

一主一从:

前提:

两台centos7(虚拟机或云服务器)

防火墙已关闭

主master:192.168.17.201 msql8.0.12

从slave:192.168.17.202 msql8.0.12

1.mysql8.0安装

(1) 卸载Mariadb

由于CentOS7自带的是 Mariadb, 所以需要先删除Mariadb

1>. 查找版本

rpm -qa|grep mariadb

2>. 删除

rpm -e --nodeps 上面查出来的文件名

3>. 删除配置文件

rm /etc/f

(2) 下载安装

1>. 下载

官网下载:/downloads/mysql/

2>. 解压

tar -xvf 包名

解压完会出现几个不同的包,通过ll查看即可

3>. 安装依赖

#以下六条,具体作用我还没去了解过

yum -y install numactl

yum -y install libaio.so.1 libgcc_s.so.1 libstdc++.so.6

yum update libstdc++-4.4.7-4.el6.x86_64

yum search libaio

yum install libaio

yum install net-tools

4>. 安装

#以下具体名字看通过ll命令查看,按顺序安装

rpm -ivh mysql-community-common-8.0.15-1.el7.x86_64.rpm

rpm -ivh mysql-community-libs-8.0.15-1.el7.x86_64.rpm

rpm -ivh mysql-community-client-8.0.15-1.el7.x86_64.rpm

rpm -ivh mysql-community-devel-8.0.15-1.el7.x86_64.rpm

rpm -ivh mysql-community-server-8.0.15-1.el7.x86_64.rpm

5>. 初始化

mysqld --initialize --user=mysql --basedir=/usr --datadir=/var/lib/mysql

6>. 修改密码

①编辑配置文件

vim /etc/f

在[mysqld]下加skip-grant-tables

②重启mysql服务

systemctl start mysql

③免密登录

mysql -u root -p

提示输入密码时直接敲回车。

④选择 mysql 数据库

use mysql;

⑤置空默认密码

update user set authentication_string='' where user='root';

⑥退出mysql,修改配置文件f,把kip-grant-tables删掉

vim /etc/f

⑦重启服务

systemctl start mysql

⑧登录

mysql -u root -p

提示输入密码时直接敲回车。

⑨修改root密码

ALTER user 'root'@'localhost' IDENTIFIED BY '密码';

⑩退出重启服务通过自己设置的密码登录

mysql -u root -p密码

7>. 设置远程登录

设置权限 %表示允许远程

grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;

或者

update user set host='%' where user='root';

刷新数据库,使权限立刻生效

flush privileges;

注意所有标点均为英文符号!

到此mysql8.0安装完成。

配置主从复制需要两台虚拟机或云服务器都安装。

2.配置修改

主master数据库中:在配置文件f新增:

server-id = 100

log-bin = mysql-bin

innodb-file-per-table =ON

skip_name_resolve=ON

#以下原有

datadir=/var/lib/mysql

socket=/var/lib/mysql/mysql.sock

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

从slave数据库中:在配置文件f新增:

relay-log=relay-log1

relay-log-index=relay-log.index

server-id = 101

innodb_file_per_table=ON

skip_name_resolve=ON

#以下原有

datadir=/var/lib/mysql

socket=/var/lib/mysql/mysql.sock

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

配置完成重启数据库

3.主库master操作

(1)创建用于同步的用户并授权

#创建用户

CREATE USER 'wwze'@'192.168.17.201' IDENTIFIED BY 'wish';

#授权

grant replication slave on *.* to 'wwze'@'192.168.17.201' identified by 'wish';

#刷新权限

flush privileges;

(2)查看master状态,记录二进制文件名(File)和位置(Position)

SHOW MASTER STATUS;

4.从库slave操作

(1)同步

change master to master_host='94.191.88.237', master_user='wwze', master_password='wish', \

master_log_file='mysql-bin.000002', master_log_pos=885, master_connect_retry=30;

其中mysql-bin.000002为在主库从查询到的二进制文件名,885为位置。

(2)启动同步

start slave;

(3)查看同步状态

show slave status\G

这里结尾不加分号。

当 Slave_IO_Running: Yes 和Slave_SQL_Running: Yes时,便主从搭建成功。

5.额外配置

(1)选择性同步数据库

# 不同步哪些数据库

binlog-ignore-db = mysql

binlog-ignore-db = test

binlog-ignore-db = information_schema

# 只同步哪些数据库,除此之外,其他不同步

binlog-do-db = game

(2)从库设置为只读,不能写

在从库slave的配置文件f中加:

read_only=1

可以限定普通用户的对数据的修改操作,但不会限制root用户(具有super权限的用户)。如若要限制root用户,需要对所有表加读锁:flush tables with read lock;

6.其他

停止同步:

stop slave;

清理slave:

reset slave all;

参考:

https://blog..net/xinpengfei521/article/details/80400142

https://www..com/gl-developer/p/6170423.html

https://blog..net/wuapeng/article/details/80632446

如果觉得《linux安装主从mysql mysql8.0安装以及主从复制搭建(linux)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。