Ubuntu20.04安装Mysql8主从

这篇具有很好参考价值的文章主要介绍了Ubuntu20.04安装Mysql8主从。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Ubuntu20.04安装Mysql8主从

一.主数据库安装

1.下载安装包并初始化数据库

# 进入目录
cd /opt

# 下载安装包
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz

# 解压
tar -xvf mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz

# 拷贝到/usr/local
mv /opt/mysql-8.0.20-linux-glibc2.12-x86_64 /usr/local

# 进入/usr/local
cd /usr/local

# 修改名称为mysql-8.0.20
mv mysql-8.0.20-linux-glibc2.12-x86_64 mysql-8.0.20

# 创建存放数据文件夹
mkdir /usr/local/mysql-8.0.20/data

# 创建用户及用户组
groupadd mysql
useradd -g mysql mysql

# 授权
chown -R mysql.mysql /usr/local/mysql-8.0.20

# 初始化数据库(记录临时密码)
cd /usr/local/mysql-8.0.20/

./bin/mysqld --user=mysql --lower-case-table-names=1 --basedir=/usr/local/mysql-8.0.20/ --datadir=/usr/local/mysql-8.0.20/data/ --initialize

2.修改配置文件

# 配置my.cnf
vi /etc/my.cnf
# 清空,使用下面内容
[mysqld]
basedir=/usr/local/mysql-8.0.20
datadir=/usr/local/mysql-8.0.20/data
character-set-server=utf8
lower-case-table-names=1
default_authentication_plugin=mysql_native_password

# 主从复制-主机配置
# 主服务器唯一ID
server-id=1
# 启用二进制日志
log-bin=mysql-bin
# 设置不要复制的数据库(可设置多个)
binlog-ignore-db=sys
binlog-ignore-db=mysql
binlog-ignore-db=information_schema
binlog-ignore-db=performance_schema
# 设置需要复制的数据库(可设置多个)
binlog-do-db=xxl_job
binlog-do-db=nacos
# 设置logbin格式
binlog_format=STATEMENT

3.创建并启动Mysql服务

# 建立Mysql服务
cp -a ./support-files/mysql.server /etc/init.d/mysql
chmod +x /etc/init.d/mysql
# 启动、停止、重启
systemctl start mysql.service
systemctl restart mysql.service
systemctl stop mysql.service

# 创建软连接
ln -s /usr/local/mysql-8.0.20/bin/mysql /usr/bin 
# 登录(使用临时密码)
mysql -uroot -p
# 修改密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'new password';
# 退出,使用新密码登录
quit
mysql -uroot -p

# 修改root权限,增加远程连接(从服务器为了安全可以不必执行)
use mysql
update user set host ='%' where user='root';
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'cquisse';
flush privileges;
# 退出
quit

二.从数据库安装

安装步骤和主数据库的安装步骤基本一样,但配置文件内容不同,以及不必开启远程连接。

vi /etc/my.cnf
#添加如下内容
[mysqld]
basedir=/usr/local/mysql-8.0.20
datadir=/usr/local/mysql-8.0.20/data
character-set-server=utf8
lower-case-table-names=1
default_authentication_plugin=mysql_native_password

# 主从复制-从机配置
# 从服务器唯一ID
server-id=2
# 启用中继日志
relay-log=mysql-relay

三.配置主从复制

1.检查防火墙

  • 关闭主从数据库服务器防火墙或开放3306端口

    这里以firewall为例

    # 查看防火墙状态
    systemctl status firewalld
    # 关闭防火墙
    systemctl stop firewalld
    
    #往防火墙添加3306端口
    firewall-cmd --add-port=3306/tcp --permanent
    #重新加载防火墙配置
    firewall-cmd --reload 
    

2.数据库测试是否已经可以访问

# 从数据库服务器测试主数据库
mysql -uroot -p -h<主服务器IP> -P3306

3.主数据库创建用户slave并授权

# 登录
mysql -uroot -p

# 创建用户
create user 'slave'@'%' IDENTIFIED WITH mysql_native_password by 'password';

# 授权
grant replication slave on *.* to 'slave'@'%';

# 刷新权限
flush privileges;
  • 从数据库验证slave用户是否可用

    mysql -uslave -p -h<主服务器IP> -P3306
    

4.开始配置主从

  • 主数据库查询服务ID及Master状态

    # 登录
    mysql -uroot -p
    
    # 查询server_id是否可配置文件中一致
    show variables like 'server_id';
    
    # 若不一致,可设置临时ID(重启失效)
    set global server_id = 1;
    
    # 查询Master状态,并记录 File 和 Position 的值
    show master status;
    
    # 注意:执行完此步骤后退出主数据库,防止再次操作导致 File 和 Position 的值发生变化
    
  • 从数据库中设置主数据库

    # 登录
    mysql -uroot -p
    
    # 查询server_id是否可配置文件中一致
    show variables like 'server_id';
    
    # 若不一致,可设置临时ID(重启失效)
    set global server_id = 2;
    
    # 设置主数据库参数
    change master to master_host='主数据库IP',master_port=3306,master_user='slave',master_password='password',master_log_file='mysql-bin.000002',master_log_pos=156;
    
    # 开始同步
    start slave;
    
    # 若出现错误,则停止同步,重置后再次启动
    stop slave;
    reset slave;
    start slave;
    
    # 查询Slave状态
    show slave status\G
    
    # 查看是否配置成功
    # 查看参数 Slave_IO_Running 和 Slave_SQL_Running 是否都为yes,则证明配置成功。若为no,则需要查看对应的 Last_IO_Error 或 Last_SQL_Error 的异常值。
    
  • 测试
      通过工具连接主从数据库或者在服务器连接。
      注意:主数据库的配置文件中配置了需要同步的数据库,因此只会同步配置的数据库,不配置则同步全部。文章来源地址https://www.toymoban.com/news/detail-709873.html

# 在主数据库创建数据库test
create database test;

# 从数据库查看
show databases;

# 在主数据库创建表
use test;
create table t_user(id int, name varchar(20));

# 插入数据
insert into t_user values(1, 'C3Stones');

# 在从数据库查看
use test;
select * from t_user;

到了这里,关于Ubuntu20.04安装Mysql8主从的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 在Ubuntu20.04下安装MySQL 5.7.41

    前几天要在centos 7下运行OBS Studio,结果努力了好几天都运行不了。最后妥协了,决定在Ubuntu下安装。这样系统就要整体移植到Ubuntu,其中就包括了MySQL服务。这里把安装过程记录一下。 1、sudo apt update 更新一下安装源 2、sudo apt install -y mysql-server-5.7 安装过程需要输入两次mysq

    2023年04月26日
    浏览(33)
  • Ubuntu20.04安装MySQL5.7-实测3种方法(保姆级教程)

    最近生产系统系统需要使用MySQL5.7版本的数据库,而Ubuntu20.04默认是8.0的版本,折腾了一段时间后,测试了3中方法,在实际应用环境中测试成功,因此发布出来给大家参考。 建议使用方案三方式部署,乐意折腾的可以试试方案二和方案一! 采用更换镜像源的方式进行安装部署

    2023年04月22日
    浏览(42)
  • Ubuntu 20.04 安装宋体

    环境:         ubuntu 20.04,英文环境,但已经安装中文包 检查ubuntu中安装的中文字体 命令: fc-list :lang=zh 检查ubuntu中安装的所有字体 命令: fc-list 宋体下载: Simsun Font - Free Fonts 网盘分享:链接: https://pan.baidu.com/s/12fSpgkUWuWsh-OU32q1WCA 提取码: wpia 或者从win10上拷贝,但是拷贝的

    2024年02月10日
    浏览(47)
  • Ubuntu20.04安装OpenCV

    开源计算机视觉(OpenCV)是一个主要针对实时计算机视觉的编程函数库。 OpenCV的应用领域包括:2D和3D功能工具包、运动估计、面部识别系统、手势识别、人机交互、移动机器人、动作理解、物体识别、分割和识别、实体影像立体视觉:来自两个摄像机的深度感知、运动跟踪、增强

    2023年04月09日
    浏览(56)
  • Ubuntu20.04安装ffmpeg

    2024年02月07日
    浏览(44)
  • Ubuntu20.04安装GTSAM

    在Ubuntu 20.04上安装GTSAM,你可以按照以下步骤进行操作: 打开终端(Terminal):你可以通过快捷键Ctrl + Alt + T或者在应用程序菜单中搜索\\\"Terminal\\\"来打开终端。 更新软件包列表:运行以下命令以更新系统的软件包列表: sudo apt update 安装依赖项:GTSAM需要一些依赖项才能正常运行

    2024年03月15日
    浏览(56)
  • Ubuntu20.04 安装jekyll

    首先使根据官方文档安装:Jekyll on Ubuntu | Jekyll • Simple, blog-aware, static sites 如果没有报错,就不用再继续看下去了。 我这边在执行 gem install jekyll bundler 时报错,所以安装了rvm,安装rvm可以参考这篇文章Ubuntu 20.04 安装RVM 在安装完RVM之后,安装对应的ruby版本,并切换至对应版

    2024年02月19日
    浏览(47)
  • ubuntu20.04安装conda

    1)conda与miniconda       任何语言的包、依赖和环境管理---Python, R, Ruby, Lua, Scala, Java, JavaScript, C/ C++, FORTRAN。 Conda 是一个运行在 Windows、macOS 和 Linux 上的开源包管理系统和环境管理系统。Conda 可以快速安装、运行和更新包及其依赖项。Conda 可以轻松地在本地计算机上创建、保存

    2024年02月10日
    浏览(67)
  • ubuntu20.04安装cmake

    编辑/etc/apt/sources.list文件, 在文件最前面添加以下条目(操作前做好相应备份) 增加阿里云,在source.list文件开头增加如下内容 保存并更新 安装编译环境 下载驱动源码 编译安装 进入项目目录rtl8821CU后开始编译安装 下载cmake3.16.6:https://download.csdn.net/download/qq_46107892/87517469 解压

    2024年02月09日
    浏览(86)
  • ubuntu20.04 安装 pyconcorde

    这个包似乎对网络环境要求挺高的,我们直接弄个 射线A型号 的飞机 直接使用 pip install pyconcorde 安装,发现在使用里面的包时会报奇怪的错误,于是决定寻找 github 上的 pyconcorde 源码,看文档进行安装 github 地址:https://github.com/jvkersch/pyconcorde 在虚拟机上装了半天装不了,在

    2024年02月07日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包