Linux(CentOS) Mysql 8.0.30 安装(多源安装)


安装命令根据实际部署情况修改调整,CentOS一般选择通用版本Red Hat Enterprise Linux 7

本文档使用wget下载,也可以自主下载上传到服务器,非YUM安装方式

版本地址:全版本 | Red Hat Enterprise Linux 7 / Oracle Linux 7 (x86, 64-bit)版本

文档更新记录:2022/09/23-MySQL Community Server最新版本号:8.0.30


1.0 CentOS7配置阿里云yum源 ,根据实际情况判断是否需要配置

1.1 在安装MySQL之前,需要卸载服务器自带的MySQL包和MySQL数据库分支mariadb的包

$ rpm -qa|grep mysql
$ rpm -qa |grep mariadb
mariadb-libs-5.5.68-1.el7.x86_64
$ rpm -e mariadb-libs-5.5.68-1.el7.x86_64 --nodeps

1.2 下载(此处下载到/home目录下)

$ wget -P /home https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.30-el7-x86_64.tar
#备注:该包下面有3个子包,此文档主要介绍mysql-8.0.30-el7-x86_64.tar.gz和mysql-router-8.0.30-el7-x86_64.tar.gz
1、mysql-8.0.30-el7-x86_64.tar.gz # MySQL主包,此文档使用的包
2、mysql-router-8.0.30-el7-x86_64.tar.gz # 用于在应用程序和MySQL服务器之间提供透明路由和负载均衡,从而有效提高MySQL数据库服务的高可用性与可伸缩行,此处不介绍
3、mysql-test-8.0.30-el7-x86_64.tar.gz # 测试包

1.3 多实例安装举例(此处安装2个实例,从7001~7002)

$ groupadd mysql
$ useradd -r -g mysql -s /bin/false mysql
$ yum install libaio -y #如果安装失败在安装,一般不需要
$ cd /home
$ tar -xf mysql-8.0.30-el7-x86_64.tar
$ tar -zxvf mysql-8.0.30-el7-x86_64.tar.gz
$ mv mysql-8.0.30-el7-x86_64 /home/mysql
$ mkdir -p /home/mysql/data/{7001,7002}
$ chown -R mysql:mysql /home/mysql
$ cd /home/mysql

1.3 多实例安装举例(此处安装2个实例,从7001~7002,已开启binlog,如果不是用来设置主从的话步长和起始位置设置为1就行,配置7003请忽略,用来做2主1从的配置)

$ vim /etc/my.cnf

[mysqld]
user=mysql
basedir=/home/mysql
#禁止反解析IP(提高速度)
skip-name-resolve [mysqld_multi]
mysqld=/home/mysql/bin/mysqld_safe
mysqladmin=/home/mysql/bin/mysqladmin
log=/home/mysql/data/mysqld_multi.log [mysqld7001]
mysqld=mysqld
mysqladmin=mysqladmin
datadir=/home/mysql/data/7001
port=7001
server_id=7001
socket=/tmp/mysql_7001.sock
log_error=/home/mysql/data/error_7001.log #开启binlog
log_bin=mysql_bin
binlog_format=ROW
lower_case_table_names=1
log_slave_updates=true
gtid_mode=on
enforce_gtid_consistency=1
#不同步的表(当前_其他)
binlog_ignore_db=mysql
binlog_ignore_db=information_schema
binlog_ignore_db=performance_schema
#屏蔽同步(其他_>当前)
replicate_ignore_db=mysql
replicate_ignore_db=information_schema
replicate_ignore_db=performance_schema #自增起始位置
auto_increment_offset=1
#自增步长
auto_increment_increment=1 [mysqld7002]
mysqld=mysqld
mysqladmin=mysqladmin
datadir=/home/mysql/data/7002
port=7002
server_id=7002
socket=/tmp/mysql_7002.sock
log_error=/home/mysql/data/error_7002.log #开启binlog
log_bin=mysql_bin
binlog_format=ROW
lower_case_table_names=1
log_slave_updates=true
gtid_mode=on
enforce_gtid_consistency=1
#不同步的表(当前_其他)
binlog_ignore_db=mysql
binlog_ignore_db=information_schema
binlog_ignore_db=performance_schema
#屏蔽同步(其他_>当前)
replicate_ignore_db=mysql
replicate_ignore_db=information_schema
replicate_ignore_db=performance_schema #自增起始位置
auto_increment_offset=1
#自增步长
auto_increment_increment=1 # [mysqld7003]
# mysqld=mysqld
# mysqladmin=mysqladmin
# datadir=/home/mysql/data/7003
# port=7003
# server_id=7003
# socket=/tmp/mysql_7003.sock
# log_error=/home/mysql/error_7003.log # #开启binlog
# log_bin=mysql_bin
# binlog_format=ROW
# lower_case_table_names=1
# log_slave_updates=true
# gtid_mode=on
# enforce_gtid_consistency=1
# #不同步的表(当前_其他)
# binlog_ignore_db=mysql
# binlog_ignore_db=information_schema
# binlog_ignore_db=performance_schema
# #屏蔽同步(其他_>当前)
# replicate_ignore_db=mysql
# replicate_ignore_db=information_schema
# replicate_ignore_db=performance_schema # #只读
# read_only=1
# innodb_read_only=1
# #super_read_only=1

1.3 初始化多实例(此处要初始化2个实例,从7001~7002,忽略大小写一定要在初始化就加入,并记录下原始密码!!!记录下原始密码!!!记录下原始密码!!!,后面改密前登录使用)

/home/mysql/bin/mysqld --defaults-file=/etc/my.cnf --initialize --lower-case-table-names=1 --basedir=/home/mysql/ --datadir=/home/mysql/data/7001
/home/mysql/bin/mysqld --defaults-file=/etc/my.cnf --initialize --lower-case-table-names=1 --basedir=/home/mysql/ --datadir=/home/mysql/data/7002

1.3 设置环境变量(用于系统识别mysqld_multi、mysqladmin等命令)

$ vim /etc/profile
export PATH=/home/mysql/bin:$PATH
$ source /etc/profile

1.5 使用mysqld_multi启动单个实例举例(7001端口),其他端口类似

$ mysqld_multi start 7001

1.6 使用mysqld_multi启动全部实例

$ mysqld_multi start

1.7 [推荐] 关闭单个数据库实例命令(举例7001)

$ mysqladmin -S /tmp/mysql_7001.sock -p shutdown
#备注:不推荐使用mysqld_multi关闭多实例,因为麻烦,需要在my.cnf文件的[mysqld_multi]模块里面配置用户密码,并且各个数据库的用户密码都需要相同,否则无法关闭

1.8 推荐使用socket登录MySQL(举例7001)

$ mysql -S /tmp/mysql_7001.sock -p

1.9 使用mysqld_multi查看实例状态

$ mysqld_multi report
Reporting MySQL servers
MySQL server from group: mysqld7001 is running
MySQL server from group: mysqld7002 is running

1.10 首次登录(举例7001)必须重新设置密码才能正常使用,此处使用

$ mysql -S /tmp/mysql_7001.sock -p
# 修改默认root本地密码并创建远程连接用户park
alter user root@localhost identified by '密码';
create user 'park'@'%' identified with mysql_native_password by '密码';
grant all on *.* to 'park'@'%';
# 创建主从同步的用户backup
create user 'backup'@'%' identified with mysql_native_password by '密码';
grant replication slave on *.* to 'backup'@'%'; flush privileges;
exit;

1.11 如果是想配置2台服务器互为主从(需要从1.3的步骤改为 将7001配置的自增步长设置为2,自增起始位置设置为1;将7002配置的自增步长设置为2,自增起始位置设置为2,执行初始化)

(7001为从7002为主)
7002上执行:
# 登录数据库(获得binlog当前日志位置)
$ mysql -S /tmp/mysql_7002.sock -p
show master status;
得:
+------------------+----------+--------------+---------------------------------------------+------------------------------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+---------------------------------------------+------------------------------------------+
| mysql_bin.000001 | 1650 | | mysql,information_schema,performance_schema | 4ef1f4e6-7a66-11eb-9cc0-e8611f2b6693:1-6 |
+------------------+----------+--------------+---------------------------------------------+------------------------------------------+
其中:mysql_bin.000001为master_log_file,1650为master_log_pos 7001上执行:
# 登录数据库
$ mysql -S /tmp/mysql_7001.sock -p
change master to master_host='127.0.0.1', master_port=主库端口此处为7002, master_user='主库用户此处为backup', master_password='backup的密码', master_log_file='此处为mysql-bin.000001', master_log_pos=此处为1650 for channel "通道名称此处设置为7002-7001";
flush privileges;
# 启动同步,使用 show slave status\G; 查看 出现两个IO为YES即可,常用start slave;为停止同步
start slave; (7002为从7001为主)
7001上执行:
# 登录数据库(获得binlog当前日志位置)
$ mysql -S /tmp/mysql_7001.sock -p
show master status;
得:
+------------------+----------+--------------+---------------------------------------------+------------------------------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+---------------------------------------------+------------------------------------------+
| mysql_bin.000001 | 1888 | | mysql,information_schema,performance_schema | 4af1d4e6-7a66-11eb-9ca0-e8611g2b6692:1-8 |
+------------------+----------+--------------+---------------------------------------------+------------------------------------------+
其中:mysql_bin.000001为master_log_file,1888为master_log_pos 7002上执行:
# 登录数据库
$ mysql -S /tmp/mysql_7002.sock -p
change master to master_host='127.0.0.1', master_port=主库端口此处为7001, master_user='主库用户此处为backup', master_password='backup的密码', master_log_file='此处为mysql-bin.000001', master_log_pos=此处为1888 for channel "通道名称此处设置为7001-7002";
flush privileges;
# 启动同步,使用 show slave status\G; 查看 出现两个IO为YES即可,常用start slave;为停止同步
start slave; # 备注:可以2台主一台从配合mysql router用,只要channel名称不同就可以同时开2个主同步到一个从
备份顺序(7001主,7002主,7003从):
7001-->7002
7002-->7001
7001->7003
7002->7003

Linux(CentOS) Mysql 8.0.30 安装(多源安装)的更多相关文章

  1. Linux\CentOS MySql 安装与配置

    一.MySQL 简介 MySQL 是一个关系型数据库管理系统,是MySQL AB公司开发,现在属于 Oracle 旗下产品. MySQL 采用标准化语言.体积小.速度快.成本低.开源等特点使得一些中小 ...

  2. linux下Mysql 8.0.19 编译安装

    1 前言 linux下安装MySQL的方式有很多种,包括以仓库的方式安装(yum,apt,zypper),以包的方式安装(rpm,deb),以docker方式安装,从压缩包解压安装,从源码编译安装,这 ...

  3. linux 搭建elk6.8.0集群并破解安装x-pack

    一.环境信息以及安装前准备 1.组件介绍 *Filebeat是一个日志文件托运工具,在你的服务器上安装客户端后,filebeat会监控日志目录或者指定的日志文件,追踪读取这些文件(追踪文件的变化,不停 ...

  4. Python3.7和数据库MySQL 8.0.12 绿色解压 安装教程(一)

    首先要安装MySQL 数据库才可以继续安装图形工具SQLyog 第一步:下载解压包>> MYSQL官网地址:https://dev.mysql.com/downloads/file/?id ...

  5. win10下MYSQL 8.0.16的下载、安装以及配置

    win10系统MySQL 8.0的下载安装超详细教程 https://blog.csdn.net/qq_34444097/article/details/82315587 下载安装配置链接:https ...

  6. 重要参考文档---MySQL 8.0.29 使用yum方式安装,开启navicat远程连接,搭建主从,读写分离(需要使用到ProxySQL,此文不讲述这个)

    yum方式安装 echo "删除系统默认或之前可能安装的其他版本的 mysql" for i in $(rpm -qa|grep mysql);do rpm -e $i --nod ...

  7. [Linux] 无法访问国外网站,完成epel源安装的解决办法--待续

    一.缘由: 由于一个机房的网络限制,无法访问国外IP地址,在安装一些开源软件的时候比如smokeping.ansible就无法从epel源在线安装, 编译安装的话,又需要安装各种依赖,麻烦的一逼.所以 ...

  8. linux下mysql 8.0安装

    安装本身同mysql 5.7,仍然建议使用tar.gz解压版,而非rpm安装包版. mysql已经将之前的mysql_native_password认证,修改成了caching_sha2_passwo ...

  9. (0.2.4)Mysql安装——yum源安装

    转自:https://www.cnblogs.com/jimboi/p/6405560.html Centos6.8通过yum安装mysql5.7 1.下载好对应版本的yum源文件 2.安装用来配置m ...

  10. Python3.7和数据库MySQL 8.0.12 数据库数据驱动mysql-connector安装(四)

    安装mysql-connector驱动 在系统CMD输入命令: pip install mysql-connector 示例: 创建数据库 # 导入驱动 import mysql.connector ...

随机推荐

  1. 微服务框架——SpringBoot

    SpringBoot 1.创建Boot项目的两种方式 1.1通过spring网站创建 进入Spring Initializr 选择填写对应配置,打包 将zip格式的压缩包解压,并导入该项目 1.2 通 ...

  2. 题解 P5607 [Ynoi2013] 无力回天 NOI2017

    简要题意 其实我觉得这个部分可以不要,因为这道题的题面还是很清晰的. 你需要维护一个数据结构,支持区间异或和区间求与 \(v\) 的最大异或和. 思路 对于这种区间问题,最容易想到的就是 分块 线段树 ...

  3. MySQL 更新数据 不同条件(批量)更新不同值

    一般在更新时会遇到以下场景:1.全部更新:2.根据条件更新字段中的某部分内容:3.根据不同的条件更新不同的值,以下是几种场景中常用的update方法. 一.方法分类 二.具体用法 (1)根据条件更新值 ...

  4. obj转换为gltf方法three.js一步一步来--性能优化超厉害的!!!!!超赞操作!!!Obj模型转Gltf模型并超强压缩!!!!!

    1.准备好模型文件table.obj和table.mtl 2.下载obj2gltf 下载地址https://github.com/AnalyticalGraphicsInc/obj2gltf 解压至文 ...

  5. 扒一扒Bean注入到Spring的那些姿势,你会几种?

    大家好,我是三友~~ 这篇文章我准备来扒一扒Bean注入到Spring的那些姿势. 其实关于Bean注入Spring容器的方式网上也有很多相关文章,但是很多文章可能会存在以下常见的问题 注入方式总结的 ...

  6. Object类的toString方法-Object类的equas方法

    Object类的toString方法 Object 是类层次结构的根(最顶层)类.每个类都是用 Object 作为超(父)类. 所有对象(包括数组) 都实现这个类的方法 Person类默认继承了Obj ...

  7. qt虚拟键盘编译时报错缺乏qpa/qplatforminputcontext.h文件

    ubuntu20.04 :sudo apt-get install qtbase5-private-dev

  8. APP测试注意点-安装卸载与运行

    1.安装和卸载 应用在不同系统版本的ios和android是否可以正常安装(适配问题) 安装过程中是否可以取消 手机存储空间不足时安装应用是否有相应提示信息 安装后的应用是否可以正常卸载 卸载后是否会 ...

  9. JavaScript: symbol 和 string key 取值用法

    '' 做 key 可以被 . 或者 [] 运算符取出 [""] 做 key 同样可以被 . 或者 [] 运算符取出 symbol 做 key 只能被 . 取出 [symbol] 做 ...

  10. P24_wxss - wxss与css的关系

    WXSS 模板样式 什么是 WXSS WXSS (WeiXin Style Sheets)是一套样式语言,用于美化 WXML 的组件样式,类似于网页开发中的 CSS. WXSS 和 CSS 的关系 W ...