MySQL8.0.28数据库安装和主从配置说明

目录
  • 1. 检查服务器是否有mysql服务并卸载
  • 2. 将安装包拷贝到指定目录并安装
    • 2.1 解压安装包
    • 2.2 重命名解压文件夹名称
    • 2.3 在mysql目录下创建data目录存放数据
    • 2.4 更换mysql目录的所属用户和用户组
    • 2.5 设置MySQL配置文件
    • 2.6 初始化mysql
    • 2.7 启动mysql服务
    • 2.8 登录并修改默认密码
    • 2.9 开放防火墙端口
  • 3. 主从数据库配置
    • 3.1 修改主从库的my.cnf文件
    • 3.2 依次启动主从库,更新配置,并重启
    • 3.3 查看主库状态,并创建从库用于登录的主库的用户
    • 3.4 从库执行接入主库服务器MySQL服务语句
    • 3.5 主从状态检查
    • 3.6 测试主从库同步
  • 总结

1. 检查服务器是否有mysql服务并卸载

# 检查服务器是否已安装MySQL服务,若未输出任何信息信息表示无MySQL服务,若有则卸载(rpm -e --nodeps mysql-xxxxxxxxx)
[root@ydgq ~]# rpm -qa | grep mysql
# 查找MySQL名称的目录和文件(find / -name mysql),并删除(rm -rf  xxx)
[root@ydgq ~]# find / -name mysql
/etc/selinux/targeted/active/modules/100/mysql
/usr/lib64/mysql
/usr/share/mysql
# 检查是否存在mysql用户,若存在,不需要新增用户
[root@ydgq ~]# groupadd mysql
[root@ydgq ~]# useradd -r -g mysql mysql

2. 将安装包拷贝到指定目录并安装

注:这里我拷贝到/usr/local目录下。

2.1 解压安装包

命令:tar -vxf mysql-8.0.28-linux-glibc2.12-x86_64.tar.xz

2.2 重命名解压文件夹名称

命令:mv mysql-8.0.28-linux-glibc2.12-x86_64 mysql

2.3 在mysql目录下创建data目录存放数据

# 进入MySQL安装根目录
[root@ydgq local]# cd mysql
# 创建data文件夹
[root@ydgq mysql]# mkdir data
# 创建日志目录
[root@ydgq mysql]# mkdir logs
# 给日志目录赋值上所有权限
[root@ydgq mysql]# chmod 777 /usr/local/mysql/logs

2.4 更换mysql目录的所属用户和用户组

[root@ydgq local]# chown -R mysql:mysql /usr/local/mysql
[root@ydgq local]# ll
总用量 1176052
drwxr-xr-x.  2 root  root           6 4月  11 2018 bin
drwxr-xr-x.  2 root  root           6 4月  11 2018 etc
drwxr-xr-x.  2 root  root           6 4月  11 2018 games
drwxr-xr-x.  2 root  root           6 4月  11 2018 include
drwxr-xr-x.  2 root  root           6 4月  11 2018 lib
drwxr-xr-x.  2 root  root           6 4月  11 2018 lib64
drwxr-xr-x.  2 root  root           6 4月  11 2018 libexec
drwxr-xr-x. 10 mysql mysql        141 2月   9 09:31 mysql
drwxr-xr-x.  2 root  root           6 4月  11 2018 sbin
drwxr-xr-x.  5 root  root          49 2月   8 14:49 share
drwxr-xr-x.  2 root  root           6 4月  11 2018 src

注:mysql目录必须要有755的权限。

2.5 设置MySQL配置文件

# 进入etc目录
cd /etc/
# 编辑my.cnf文件
vim my.cnf

my.cnf文件内容修改如下

[mysqld]
socket=/usr/local/mysql/mysql.sock
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
character_set_server=utf8mb4
lower_case_table_names=1
sql-mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
[mysqld_safe]
log-error=/usr/local/mysql/logs/mysql.log
pid-file=/usr/local/mysql/logs/mysql.pid
!includedir /etc/my.cnf.d

注:若不存在my.cnf.d目录,则需要创建一个。

2.6 初始化mysql

# 进入mysql的bin目录
[root@ydgq my.cnf.d]# cd /usr/local/mysql/bin
# 初始化数据库
[root@ydgq bin]# ./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql

注:记住此时生成的随机密码:“tqmLwmUi<6Wq”。

2.7 启动mysql服务

# 拷贝mysql服务命令到/etc/init.d/mysql中
[root@ydgq mysql]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
# 启动mysql服务
[root@ydgq mysql]# service mysql start
# 查看mysql服务状态
[root@ydgq mysql]# ps -ef | grep mysql

注:出现错误,截图如下

解决方法如下:

[root@ydgq bin]# echo "" > /usr/local/mysql/logs/mysql.log
[root@ydgq bin]# chown -R mysql:mysql /usr/local/mysql/logs/mysql.log

2.8 登录并修改默认密码

# 进入mysql根目录下bin目录
cd /usr/local/mysql/bin/
# 用初始密码登录mysql,若下面命令不行,则输入(./mysql -uroot -h 127.0.0.1 -p)
./mysql -u root -p

# 修改root密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '设置得密码';
FLUSH PRIVILEGES;
# 设置远程能够用root访问
use mysql;
update user set host='%' where user ='root';
FLUSH PRIVILEGES;
# 设置权限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION;

2.9 开放防火墙端口

# 开放3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
# 关闭3306端口
firewall-cmd --zone=public --remove-port=3306/tcp --permanent
# 服务生效
firewall-cmd --reload
# 查看防火墙所有开放端口
firewall-cmd --zone=public --list-ports
# 查看防火墙状态
firewall-cmd --state
# 关闭防火墙
systemctl stop firewalld.service
# 查看监听端口
netstat -lnpt

3. 主从数据库配置

准备工作:

  • 准备两台装好MySQL的服务器:192.168.153.100(主)、192.168.153.101(从)
  • 保证两台服务器在同一个网段上,并且使得他们的配置信息能够在链接的时候对接上。

3.1 修改主从库的my.cnf文件

主库配置(192.168.153.100)my.cnf

[mysqld]
# 启用二进制日志
log-bin=master-bin
# 服务器唯一ID,一般取IP最后一段
server-id=100

log_bin_index=master-bin.index
# 自动清理 7 天前的log文件,可根据需要修改
expire_logs_days=7
# 要给从机同步的库(如果不写,默认全部同步)
# binlog-do-db=db01

#不给从机同步的库(多个写多行)
#binlog-ignore-db=mysql
#binlog-ignore-db=information_schema
#binlog-ignore-db=performance_schema
#binlog-ignore-db=sys

从库配置(192.168.153.101)my.cnf

[mysqld]
# 服务器唯一ID,一般取IP最后一段
server-id=101
# 加上以下参数可以避免更新不及时,SLAVE 重启后导致的主从复制出错
read_only = 1
master_info_repository=TABLE
relay_log_info_repository=TABLE
relay-log = slave-relay-bin
# 主服务器I/O日志读取、记录及存放
relay-log-index = slave-relay-bin.index

3.2 依次启动主从库,更新配置,并重启

主库

# 启动MySQL服务
[root@ydgq bin]# service mysql start
# 登录MySQL
[root@ydgq bin]# cd /usr/local/mysql/bin/
[root@ydgq bin]# ./mysql -u root -h 127.0.0.1 -p
# 刷新权限设置等
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
mysql> quit;
Bye
# 重启MySQL服务
[root@ydgq bin]# service mysql restart
Shutting down MySQL.. SUCCESS!
Starting MySQL... SUCCESS!

从库

# 启动MySQL服务
[root@ydgq bin]# service mysql start
[root@ydgq logs]# cd /usr/local/mysql/bin/
[root@ydgq bin]# ./mysql -u root -h 127.0.0.1 -p
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
mysql> quit;
Bye
[root@ydgq bin]# service mysql restart
Shutting down MySQL.. SUCCESS!
Starting MySQL... SUCCESS!

3.3 查看主库状态,并创建从库用于登录的主库的用户

SQL命令:

# 创建用户并设置密码
mysql> create user 'user001'@'192.168.%.%' identified by 'root';
Query OK, 0 rows affected (0.01 sec)
# 授权
mysql> grant replication slave on *.* to 'user001'@'192.168.%.%';
Query OK, 0 rows affected (0.00 sec)
# 刷新权限
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)

SQL命令:show master status;

注:这里查看到的信息即是主服务器准许接入的信息,我们要在从服务器MySQL语句中执行接入语句需要用到主服务器允许接入参数,这里的file和position非常重要;

3.4 从库执行接入主库服务器MySQL服务语句

SQL命令:

change master to master_host='192.168.153.100',master_port=3306,master_user='user001',master_password='root',master_log_file='master-bin.000002',master_log_pos=157;
  • master_host:主服务器ip地址
  • master_port:主服务器端口
  • master_user:链接主服务器账户
  • master_password:链接主服务器角色账户密码
  • master_log_file:在查询主库时查询到的file参数值
  • master_log_pos:在查询主库时查询到的positon参数值

执行完上述命令后进行如下操作:

1.启用同步:start slave;

2.查看同步状态:show slave status;

注:出现如上图所示的错误,原因为用户的密码加密策略问题导致,需修改主库的用户密码策略。

mysql> ALTER USER 'user001'@'192.168.%.%' IDENTIFIED WITH mysql_native_password BY 'root';
Query OK, 0 rows affected (0.01 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

更新主库后,记得重启从库,这时就没有错误了。

3.5 主从状态检查

主库

注:命令:show processlist; 如上图所示的Command为Binlog Dump表示配置成功!;

从库

注:命令:show slave status \G。如上图所示表示配置成功。

3.6 测试主从库同步

在主库里面新建test数据库,并在数据库中新建sys_c_user表,同时插入一条数据。

操作后,查看从库的数据库及表情况。

测试发现,从库里面也添加了相应的数据库、表及表数据。说明主从搭建成功。

扩展:主库查看binlog日志

注:命令:show binlog events;

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • mysql 8.0.28 安装配置方法图文教程

    mysql 8.0.28版本安装配置方法图文教程,供大家参考,具体内容如下 从 Mysql 官网下载 mysql 或直接点击这里下载 下载完成后直接双击进行安装,打开后的页面如下所示: 选择自定义custom,接着下一步 将MySQL Server 展开,添加到右边(点击绿色箭头) 选择安装位置后点击ok 点击Next,点击MySQL Sever,选择后再点击Execute 下载完成后点击下一步(需要等待一小会儿) 直接下一步 下一步 一般情况下选择第二个即可,然后点击下一步 设置密码,设置的密

  • MySQL8.0.26的安装与简化教程(全网最全)

    目录 1.MySQL下载 1.1下载 1.2安装 1.MySQL下载 1.1下载 MySQL8.0.26安装与卸载的完整步骤记录 MySQL关是一种关系数据库管理系统,所使用的 SQL 语言是用于访问数据库的最常用的标准化语言,其特点为体积小.速度快.总体拥有成本低,尤其是开放源码这一特点,在 Web应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一. 本文主要讲述压缩版,因为安装不太方便,但是

  • Windows下mysql 8.0.28 安装配置方法图文教程

    本文为大家分享了Windows下mysql 8.0.28 安装配置方法图文教程,供大家参考,具体内容如下 本教程只针对于8.0版本及以上的版本5.0版本不能以这方法安装 第一步:先去MySql官网下载8.0.28的安装包MySQL :: Download MySQL Community Server 或点击这里下载 推荐下载第一个 第二步:解压在本地盘符 创建my.ini配置文件,因为下面会有控制台创建data文件,所以在这里不要自己创建data文件夹,不要自己创建data文件夹,不要自己创建d

  • MySQL8.0.28数据库安装和主从配置说明

    目录 1. 检查服务器是否有mysql服务并卸载 2. 将安装包拷贝到指定目录并安装 2.1 解压安装包 2.2 重命名解压文件夹名称 2.3 在mysql目录下创建data目录存放数据 2.4 更换mysql目录的所属用户和用户组 2.5 设置MySQL配置文件 2.6 初始化mysql 2.7 启动mysql服务 2.8 登录并修改默认密码 2.9 开放防火墙端口 3. 主从数据库配置 3.1 修改主从库的my.cnf文件 3.2 依次启动主从库,更新配置,并重启 3.3 查看主库状态,并创

  • Windows安装MySQL8.0.28.0.msi方式(图文详解)

    目录 1.下载 2.安装 3.MySQL 配置 1.下载 官网:https://dev.mysql.com/downloads/installer/ 2.安装 (1)双击 mysql-installer-community-8.0.28.0.msi (2)选择Custom模式,自定义安装产品 (3)选择需要的产品,具体步骤如图所示点击具体产品,会出现Adcanced Options,自定义此产品的安装路径安装完后发现有遗漏,需要添加新的产品,重新双击 mysql-installer-commun

  • mysql-8.0.11-winx64.zip安装教程详解

    下载zip安装包: MySQL8.0 For Windows zip包下载地址:https://dev.mysql.com/downloads/file/?id=476233,进入页面后可以不登录.后点击底部"No thanks, just start my download."即可开始下载. 或直接下载:https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.11-winx64.zip 环境:Windows 10 一,安装 1.

  • windows10系统安装mysql-8.0.13(zip安装) 的教程详解

    安装环境说明 •系统版本:windows10 •mysql版本:mysql-8.0.13-winx64.zip •下载地址:http://mirrors.163.com/mysql/Downloads/MySQL-8.0/mysql-8.0.13-winx64.zip 解压安装包 •解压路径:D:\develop\software •解压后mysql根目录:D:\develop\software\mysql-8.0.13-winx64 原则: 安装目录不能有空格.不能有中文 配置文件 •my.i

  • mysql8.0.11 winx64安装配置方法图文教程(win10)

    mysql 8.0.11 winx64安装教程记录如下,分享给大家 1.进入地址: 下载mysql-8.0.11-winx64 2.解压zip包,并将解压文件放入一个文件夹下,如图: 3.配置环境变量(目的是为了避免在CMD窗口下操作时反复切换路径) 在Path下添加 D:\Program Files\mysql-8.0.11-winx64\bin 4.编写配置文件 我们发现解压后的目录并没有my.ini(或my-default.ini)文件,没关系可以自行创建.在安装根目录下添加 my.ini

  • Win10下免安装版MySQL8.0.16的安装和配置教程图解

    1.MySQL8.0.16解压 其中dada文件夹和my.ini配置文件是解压后手动加入的,如下图所示 2.新建配置文件my.ini放在D:\Free\mysql-8.0.16-winx64目录下 [mysql] # 设置mysql客户端默认字符集 default-character-set=utf8 [mysqld] #设置3306端口 port = 3306 # 设置mysql的安装目录 basedir=D:\Free\mysql-8.0.16-winx64 # 设置mysql数据库的数据的

  • windows 10 下mysql-8.0.17-winx64的安装方法图解

    1.官网下载,并解压 https://dev.mysql.com/downloads/mysql/ 下载下来之后是一个zip的压缩包文件:mysql-5.7.26-winx64.zip,然后对这个文件进行解压: 解压之后,我把解压的文件放在了D:\mysql-5.7.26-winx64下: 2.设置环境变量 配置MYSQL_HOME为MySQL的解压路径:D:\mysql-5.7.26-winx64,并在path设置%MYSQL_HOME%\bin,若是win7系统,则需要这样填写:;%MYSQ

  • MYSQL8.0.13免安装版配置教程实例详解

    一.下载,本人以8.0为例 下载地址:https://dev.mysql.com/downloads/mysql/ 二.解压到某个目录,例如:D:/mysql/mysql-8.0.13-winx64 三.配置环境变量 1.新建一个变量:MYSQL_HOME 变量值:D:/mysql/mysql-8.0.13-winx64 2.修改path变量 添加一条记录:%MYSQL_HOME%/bin 四.在D:/mysql/mysql-8.0.13-winx64目录下创建my.ini文件 [mysqld]

  • mysql8.0.11 winx64安装配置教程

    mysql 8.0.11 winx64安装教程记录如下,分享给大家 1.将数据库的安装包导入,新建文件夹(mysql),把安装包解压到mysql文件夹中 2.配置环境变量,和jdk一样进去,选中path编辑,添加mysql的目录(注意有一个英文的分号),然后3个确定. 3.初始化配置文件my.ini [mysqld] #设置3307端口 port=3307 #设置mysql的安装目录 basedir=C:\\mysql\\mysql-8.0.11-winx64 # 切记此处一定要用双斜杠\\,单

  • mysql8.0.18下安装winx64的详细教程(图文详解)

    到网站 https://dev.mysql.com/downloads/mysql/ 下载MySQL数据库 解压后进入目录 D:\Program Files\mysql-8.0.18 创建my.ini文件 [mysql] # 设置mysql客户端默认字符集 default-character-set=utf8mb4 [mysqld] # 设置3306端口 port = 3306 # 设置mysql的安装目录 basedir=D:\\Program Files\\mysql-8.0.18 # 设置

随机推荐