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/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)相关推荐
- CentOS 8下 MySQL 8.0 安装部署(亲测)
MySQL 8正式版8.0.11已发布,官方表示MySQL8要比MySQL 5.7快2倍,还带来了大量的改进和更快的性能!到底谁最牛呢?请看:MySQL 5.7 vs 8.0,哪个性能更牛? 下载地址 ...
- 【MySQL 8.0 OCP 1Z0-908认证考试】题库精讲--第三讲mysql8.0安装配置升级(上)
第三讲--mysql8.0安装配置升级专题(上) 此专题题目较多,因此分为上中下三部分来讲,此为上篇. 完整版题库请到我的资源中下载,此为传送门.https://download.csdn.net/d ...
- MySQL8.0安装教程,在Linux环境安装MySQL8.0教程,最新教程 超详细
在Linux系统安装MySQL8.0,网上已经有很多的教程了,到自己安装的时候却发现各种各样的问题,现在把安装过程和遇到的问题都记录下来. 需要说明的一点是我使用的是SSH secure shell ...
- mysql压缩包安装教程8.0.19,win10安装zip版MySQL8.0.19的教程详解
win10安装zip版MySQL8.0.19的教程详解 一. 下载后解压到想安装的目录 二. 在安装目录中添加配置文件my.ini [mysqld] # 设置3306端口 port=3306 # 设置 ...
- MySQL(mysql-8.0.16-winx64)安装
MySQL 安装 版本:mysql-8.0.16-winx64 (一)安装过程 1.Download并解压: 下载网址:https://dev.mysql.com/downloads/mysql/ 1 ...
- mysql8.0.12最小化安装_简述MySql8.0编译安装过程
[[email protected] ~]# cat /etc/redhat-release CentOS Linux release 8.0.1905 (Core) 注意:不要用8以下的系统编译My ...
- CentOS下MySQL 8.0安装配置
1.源码编译安装MySQL8.0 版本信息 #cat /etc/redhat-release CentOS Linux release 7.5.1804 (Core) 安装依赖包 yum -y ins ...
- CentOS7.5下安装Mycat连接MySQL8.0
CentOS7.5下安装Mycat连接MySQL8.0 Posted on 2018-11-08 11:07 许爱琪 阅读(645) 评论(2) 编辑 收藏 MyCat详细介绍,请参考https:// ...
- ubuntu 安装docker mysql 8.0.28
ubuntu 安装docker mysql 8.0.28 1. ubuntu 版本信息更新系统 webrx@us:~$ sudo apt update [sudo] webrx 的密码: 命中:1 h ...
最新文章
- ASP.NET Core 3.x启动时运行异步任务(二)
- jzoj3845-简单题【dp】
- JS编辑器获取选择内容的HTML多浏览器兼容性写法(支持Chorme、Firefox)
- 【ABAP系列】SAP ABAP中关于commit的一点解释
- PHP表单header post get
- opencv常用函数整理(一)
- rhel6+apache2.4+mysql5.7+php5.6部署LAMP架构
- 对于NAS,IP SAN以及iSCSCI SAN存储的一些认识和理解
- 趣谈网络协议(一):综述及二层到三层
- armv6、armv7、armv7s、arm64 与开发静态库(.a)
- 计算机的生产过程,笔记本电脑生产流程介绍 .pptx
- python实现文本编辑器_Python实现的文本编辑器功能示例
- Python表白代码:“ 星光月夜烟花皆归你,我也归你”
- 串口通信原理详解232、422、485
- 老罗(www.luocong.com)
- 物理隔离网闸——入门篇(2)
- php服务器能运行java吗_将PHP与Java服务器接口
- Step to UEFI (137) 通过 BGRT 取得当前系统的 LOGO
- 深度学习那么火,深度学习图形工作站应该更火
- 几种免费的界面库及其用法(转)
热门文章
- SD-WAN的出现对MPLS意味着什么?
- Struts 2(一):初识Struts
- 包含绑定变量的sql进行调优需注意一点
- 暴君第一季/全集Tyrant迅雷下载
- 安装VS2010 无法打开数据文件'C:\Users\Administrator\AppData\Local\Temp\SIT12124.tmp\deffactory.dat的解决方法...
- 中国有超3亿人存在睡眠障碍 收入越高睡眠越少
- 官宣!今日北京降雪已达初雪标准
- Velodyne收购高清地图公司 将研发更安全的ADAS系统
- android 超链接事件,Android实现捕获TextView超链接的方法
- linux用卸载软件管理,Linux下软件的安装卸载管理