温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

MySQL8.0.28数据库安装和主从配置的方法是什么

发布时间:2022-12-09 09:21:45 来源:亿速云 阅读:167 作者:iii 栏目:开发技术

MySQL8.0.28数据库安装和主从配置的方法是什么

目录

  1. 引言
  2. MySQL 8.0.28 安装
  3. MySQL主从复制配置
  4. 常见问题及解决方案
  5. 总结

引言

MySQL是一个广泛使用的开源关系型数据库管理系统,适用于各种规模的应用程序。MySQL 8.0.28是MySQL 8.0系列的一个稳定版本,带来了许多新特性和改进。本文将详细介绍如何在Linux系统上安装MySQL 8.0.28,并配置主从复制以实现数据的高可用性和负载均衡

MySQL 8.0.28 安装

系统要求

在安装MySQL 8.0.28之前,确保系统满足以下要求:

  • 操作系统:Linux(如Ubuntu 20.04, CentOS 7/8等)
  • 内存:至少2GB RAM
  • 磁盘空间:至少1GB可用空间
  • 网络:稳定的网络连接

下载MySQL 8.0.28

  1. 访问MySQL官方网站的下载页面
  2. 选择MySQL Community Server 8.0.28版本。
  3. 根据操作系统选择合适的安装包(如.tar.gz.rpm)。

安装MySQL 8.0.28

使用.tar.gz安装包

  1. 下载并解压安装包:
   wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.28-linux-glibc2.12-x86_64.tar.gz
   tar -zxvf mysql-8.0.28-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
  1. 创建MySQL用户和组:
   groupadd mysql
   useradd -r -g mysql -s /bin/false mysql
  1. 创建MySQL数据目录并设置权限:
   mkdir -p /usr/local/mysql/data
   chown -R mysql:mysql /usr/local/mysql
  1. 初始化MySQL:
   cd /usr/local/mysql
   bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

初始化完成后,会生成一个临时密码,请妥善保存。

  1. 配置MySQL服务:
   cp support-files/mysql.server /etc/init.d/mysql
   chmod +x /etc/init.d/mysql
  1. 启动MySQL服务:
   service mysql start
  1. 设置MySQL开机自启动:
   systemctl enable mysql

配置MySQL

  1. 使用临时密码登录MySQL:
   mysql -u root -p
  1. 修改root用户密码:
   ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
  1. 创建新用户并授权:
   CREATE USER 'username'@'%' IDENTIFIED BY 'password';
   GRANT ALL PRIVILEGES ON *.* TO 'username'@'%';
   FLUSH PRIVILEGES;

启动MySQL服务

确保MySQL服务已启动并运行:

service mysql status

验证安装

通过以下命令验证MySQL是否安装成功:

mysql -u root -p -e "SELECT VERSION();"

如果返回MySQL版本号,则说明安装成功。

MySQL主从复制配置

主从复制概述

MySQL主从复制是一种数据同步机制,允许一个MySQL服务器(主服务器)将其数据更改复制到一个或多个MySQL服务器(从服务器)。主从复制的主要用途包括:

  • 数据备份
  • 负载均衡
  • 高可用性

主服务器配置

  1. 编辑主服务器的MySQL配置文件(通常为/etc/my.cnf/etc/mysql/my.cnf):
   [mysqld]
   server-id=1
   log-bin=mysql-bin
   binlog-format=ROW
  1. 重启MySQL服务以应用更改:
   service mysql restart
  1. 创建用于复制的用户:
   CREATE USER 'repl'@'%' IDENTIFIED BY 'repl_password';
   GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
   FLUSH PRIVILEGES;
  1. 查看主服务器状态并记录FilePosition值:
   SHOW MASTER STATUS;

从服务器配置

  1. 编辑从服务器的MySQL配置文件:
   [mysqld]
   server-id=2
   relay-log=mysql-relay-bin
   read-only=1
  1. 重启MySQL服务以应用更改:
   service mysql restart
  1. 配置从服务器连接到主服务器:
   CHANGE MASTER TO
   MASTER_HOST='master_ip',
   MASTER_USER='repl',
   MASTER_PASSWORD='repl_password',
   MASTER_LOG_FILE='mysql-bin.000001',
   MASTER_LOG_POS=4;

其中,master_ip是主服务器的IP地址,mysql-bin.0000014是之前记录的FilePosition值。

启动主从复制

在从服务器上启动复制:

START SLAVE;

验证主从复制

  1. 查看从服务器状态:
   SHOW SLAVE STATUS\G

确保Slave_IO_RunningSlave_SQL_Running都为Yes

  1. 在主服务器上创建测试数据库和表:
   CREATE DATABASE test_db;
   USE test_db;
   CREATE TABLE test_table (id INT PRIMARY KEY, name VARCHAR(50));
   INSERT INTO test_table VALUES (1, 'test');
  1. 在从服务器上验证数据是否同步:
   SELECT * FROM test_db.test_table;

如果返回相同的数据,则说明主从复制配置成功。

常见问题及解决方案

1. MySQL服务无法启动

  • 问题描述:MySQL服务启动失败,查看日志发现权限问题。
  • 解决方案:确保MySQL数据目录的权限正确,使用chown -R mysql:mysql /usr/local/mysql/data命令修复。

2. 主从复制同步失败

  • 问题描述:从服务器的Slave_IO_RunningSlave_SQL_Running状态为No
  • 解决方案:检查主从服务器的网络连接,确保主服务器的防火墙允许从服务器的连接。查看MySQL错误日志以获取更多信息。

3. 忘记MySQL root密码

  • 问题描述:无法使用root用户登录MySQL。
  • 解决方案:停止MySQL服务,使用--skip-grant-tables选项启动MySQL,然后重置root密码。

总结

本文详细介绍了如何在Linux系统上安装MySQL 8.0.28,并配置主从复制以实现数据的高可用性和负载均衡。通过遵循本文的步骤,您可以成功搭建一个稳定可靠的MySQL数据库环境。如果在配置过程中遇到问题,请参考常见问题及解决方案部分,或查阅MySQL官方文档以获取更多帮助。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI