当前位置: 首页 > ds >正文

数据库安装和升级和双主配置

备份和导入数据
./mysqldump -u root -p123321 test > test.sql

rsync -av test.sql root@192.168.0.212:/usr/local/mysql/

./mysql -uroot -p test < …/test.sql

sudo tar -zxvf mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
sudo ln -sfn /usr/local/mysql-5.7.44-linux-glibc2.12-x86_64 /usr/local/mysql

设置目录权限

sudo chown -R mysql:mysql /usr/local/mysql
sudo chmod -R 755 /usr/local/mysql

进入MySQL的bin目录

cd /usr/local/mysql/bin

执行初始化(生成临时root密码 记住该密码!!!)

sudo ./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

记录生成的临时密码(在输出日志中查找)

输出示例:A temporary password is generated for root@localhost: XXXXXXXX

-------------修改配置vi /etc/my.cnf
#[mysqld]
#datadir=/var/lib/mysql
#socket=/var/lib/mysql/mysql.sock

Disabling symbolic-links is recommended to prevent assorted security risks

#symbolic-links=0

Settings user and group are ignored when systemd is used.

If you need to run mysqld under a different user or group,

customize your systemd unit file for mariadb according to the

instructions in http://fedoraproject.org/wiki/Systemd

添加以下内容(按需修改路径)

[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql-5.7.33-linux-glibc2.12-x86_64/data
socket=/tmp/mysql.sock
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
bind-address = 0.0.0.0

双M结构(互为主备)配置开始

server-id = 1
log-bin = mysql-bin
binlog_format = ROW
gtid_mode = ON
enforce_gtid_consistency = ON
auto_increment_increment = 2
auto_increment_offset = 1

主库配置(确保只记录目标库的变更)

binlog-do-db = test

从库配置(确保只同步目标库的变更)

replicate-do-db = test

双M结构(互为主备)配置结束

[client]
socket=/tmp/mysql.sock
default-character-set=utf8mb4

#[mysqld_safe]
#log-error=/var/log/mariadb/mariadb.log
#pid-file=/var/run/mariadb/mariadb.pid
#log-error=/usr/local/mysql/log/mariadb/mariadb.log
#pid-file=/usr/local/mysql/run/mariadb/mariadb.pid

include all files from the config directory

!includedir /etc/my.cnf.d
-------------结束修改配置vi /etc/my.cnf

添加系统服务(可选)

sudo cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
sudo chmod +x /etc/init.d/mysqld

启动服务

sudo service mysqld start

检查状态

sudo service mysqld status

登录MySQL

/usr/local/mysql/bin/mysql -u root -p

执行简单查询

SHOW DATABASES;
SELECT VERSION();

修改root密码:
UPDATE mysql.user SET Host=‘%’ WHERE User=‘root’;
FLUSH PRIVILEGES;
ALTER USER ‘root’@‘%’ IDENTIFIED BY ‘123321’;
FLUSH PRIVILEGES;

-------双主配置开始

– 在两个服务器都执行:
CREATE USER ‘repl’@‘%’ IDENTIFIED BY ‘StrongPassword’;
GRANT REPLICATION SLAVE ON . TO ‘repl’@‘%’;
FLUSH PRIVILEGES;

stop slave;
CHANGE MASTER TO
MASTER_HOST=‘192.168.0.211’,
MASTER_USER=‘repl’,
MASTER_PORT=3306,
MASTER_PASSWORD=‘StrongPassword’,
MASTER_AUTO_POSITION=1;
START SLAVE;

SHOW SLAVE STATUS;

stop slave;
RESET MASTER;

-------双主配置结束

--------升级
sudo tar -zxvf mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
sudo ln -sfn /usr/local/mysql-5.7.44-linux-glibc2.12-x86_64 /usr/local/mysql

备份旧文件(可选)

sudo cp /usr/local/mysql/bin/mysqld /backup/

替换二进制文件

sudo cp /usr/local/mysql-5.7.44-linux-glibc2.12-x86_64/bin/* /usr/local/mysql/bin/

升级表
sudo service mysqld start
/usr/local/mysql/bin/mysql_upgrade -u root -p

--------升级结束

http://www.xdnf.cn/news/1627.html

相关文章:

  • 深度解析:基于Python的微信小程序自动化操作实现
  • 优化uniappx页面性能,处理页面滑动卡顿问题
  • 时序数据库IoTDB构建的能源电力解决方案
  • JVM-类加载机制
  • 【docker】 pull FROM build
  • 3.1.3 materialDesign:DialogHost 使用介绍
  • Whisper微调及制作方言数据集
  • Golang 闭包学习
  • arm64适配系列文章-第三章-arm64环境上mariadb的部署
  • 一行命令打开iOS模拟器
  • uniapp -- 实现微信小程序、app、H5端视频上传
  • ORACLE RAC环境使用ASM机制零宕机时间更换存储的实践
  • matlab 绘图
  • 【leetcode100】目标和
  • MongoDB副本集搭建与核心机制
  • 【MySQL】基本查询
  • 如何解析商品详情页面
  • 简单几步,开启 Intel VT-x 让电脑“解开CPU封印”
  • SiamMask中的分类分支、回归分支与Mask分支,有何本质差异?
  • 【LLM+Code】Github Copilot Agent/VsCode Agent 模式PromptTools详细解读
  • 【含文档+PPT+源码】基于SpringBoot+vue的疫苗接种系统的设计与实现
  • MySQL总结
  • 深度剖析操作系统核心(第一节):从X86/ARM/MIPS处理器架构到虚拟内存、分段分页、Linux内存管理,再揭秘进程线程限制与优化秘籍,助你成为OS高手!
  • 如何彻底卸载Android Studio?
  • aarcpy 列表函数的使用(1)
  • 分页查询优惠券
  • Unity 使用 ADB 实时查看手机运行性能
  • 【技术派后端篇】技术派中 Session/Cookie 与 JWT 身份验证技术的应用及实现解析
  • 详解springcloudalibaba采用prometheus+grafana实现服务监控
  • Qt UDP组播实现与调试指南