一主一从:

前提:

两台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/my.cnf

(2) 下载安装

1>. 下载

官网下载:https://dev.mysql.com/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/my.cnf

在[mysqld]下加skip-grant-tables

②重启mysql服务

systemctl start mysql

③免密登录

mysql -u root -p

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

④选择 mysql 数据库

use mysql;

⑤置空默认密码

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

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

vim /etc/my.cnf

⑦重启服务

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数据库中:在配置文件my.cnf新增:

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数据库中:在配置文件my.cnf新增:

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的配置文件my.cnf中加:

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)相关推荐

  1. CentOS 8下 MySQL 8.0 安装部署(亲测)

    MySQL 8正式版8.0.11已发布,官方表示MySQL8要比MySQL 5.7快2倍,还带来了大量的改进和更快的性能!到底谁最牛呢?请看:MySQL 5.7 vs 8.0,哪个性能更牛? 下载地址 ...

  2. 【MySQL 8.0 OCP 1Z0-908认证考试】题库精讲--第三讲mysql8.0安装配置升级(上)

    第三讲--mysql8.0安装配置升级专题(上) 此专题题目较多,因此分为上中下三部分来讲,此为上篇. 完整版题库请到我的资源中下载,此为传送门.https://download.csdn.net/d ...

  3. MySQL8.0安装教程,在Linux环境安装MySQL8.0教程,最新教程 超详细

    在Linux系统安装MySQL8.0,网上已经有很多的教程了,到自己安装的时候却发现各种各样的问题,现在把安装过程和遇到的问题都记录下来. 需要说明的一点是我使用的是SSH secure shell ...

  4. mysql压缩包安装教程8.0.19,win10安装zip版MySQL8.0.19的教程详解

    win10安装zip版MySQL8.0.19的教程详解 一. 下载后解压到想安装的目录 二. 在安装目录中添加配置文件my.ini [mysqld] # 设置3306端口 port=3306 # 设置 ...

  5. MySQL(mysql-8.0.16-winx64)安装

    MySQL 安装 版本:mysql-8.0.16-winx64 (一)安装过程 1.Download并解压: 下载网址:https://dev.mysql.com/downloads/mysql/ 1 ...

  6. mysql8.0.12最小化安装_简述MySql8.0编译安装过程

    [[email protected] ~]# cat /etc/redhat-release CentOS Linux release 8.0.1905 (Core) 注意:不要用8以下的系统编译My ...

  7. CentOS下MySQL 8.0安装配置

    1.源码编译安装MySQL8.0 版本信息 #cat /etc/redhat-release CentOS Linux release 7.5.1804 (Core) 安装依赖包 yum -y ins ...

  8. CentOS7.5下安装Mycat连接MySQL8.0

    CentOS7.5下安装Mycat连接MySQL8.0 Posted on 2018-11-08 11:07 许爱琪 阅读(645) 评论(2) 编辑 收藏 MyCat详细介绍,请参考https:// ...

  9. ubuntu 安装docker mysql 8.0.28

    ubuntu 安装docker mysql 8.0.28 1. ubuntu 版本信息更新系统 webrx@us:~$ sudo apt update [sudo] webrx 的密码: 命中:1 h ...

最新文章

  1. ASP.NET Core 3.x启动时运行异步任务(二)
  2. jzoj3845-简单题【dp】
  3. JS编辑器获取选择内容的HTML多浏览器兼容性写法(支持Chorme、Firefox)
  4. 【ABAP系列】SAP ABAP中关于commit的一点解释
  5. PHP表单header post get
  6. opencv常用函数整理(一)
  7. rhel6+apache2.4+mysql5.7+php5.6部署LAMP架构
  8. 对于NAS,IP SAN以及iSCSCI SAN存储的一些认识和理解
  9. 趣谈网络协议(一):综述及二层到三层
  10. armv6、armv7、armv7s、arm64 与开发静态库(.a)
  11. 计算机的生产过程,笔记本电脑生产流程介绍 .pptx
  12. python实现文本编辑器_Python实现的文本编辑器功能示例
  13. Python表白代码:“ 星光月夜烟花皆归你,我也归你”
  14. 串口通信原理详解232、422、485
  15. 老罗(www.luocong.com)
  16. 物理隔离网闸——入门篇(2)
  17. php服务器能运行java吗_将PHP与Java服务器接口
  18. Step to UEFI (137) 通过 BGRT 取得当前系统的 LOGO
  19. 深度学习那么火,深度学习图形工作站应该更火
  20. 几种免费的界面库及其用法(转)

热门文章

  1. SD-WAN的出现对MPLS意味着什么?
  2. Struts 2(一):初识Struts
  3. 包含绑定变量的sql进行调优需注意一点
  4. 暴君第一季/全集Tyrant迅雷下载
  5. 安装VS2010 无法打开数据文件'C:\Users\Administrator\AppData\Local\Temp\SIT12124.tmp\deffactory.dat的解决方法...
  6. 中国有超3亿人存在睡眠障碍 收入越高睡眠越少
  7. 官宣!今日北京降雪已达初雪标准
  8. Velodyne收购高清地图公司 将研发更安全的ADAS系统
  9. android 超链接事件,Android实现捕获TextView超链接的方法
  10. linux用卸载软件管理,Linux下软件的安装卸载管理