文章目录

  • 1. 下载安装mysql的rpm包
    • 1.1 下载
    • 1.2 安装
    • 1.3 启动改密码
    • 1.4 登录
  • 2. mysql复写操作
    • 2.1 设置基于二进制日志文件位置的复制
    • 2.2 使用GTID设置复制
    • 2.3 半同步复制的安装和配置
    • 2.4 延迟复制
  • 3. 慢查询

1. 下载安装mysql的rpm包

1.1 下载

(1)到官网:https://dev.mysql.com/downloads/mysql/ 下载自己系统对应的版本

查看自己的操作系统版本:

所以选择对应的版本


(2)将下载好的包通过SecureCat软件中的SecureFx,放到Linux的根目录下

在终端查看

1.2 安装

(1)安装之前先解压
命令: tar xf mysql-8.0.19-1.el7.x86_64.rpm-bundle.tar

(2)安装
用yum install 安装所需要的5个rpm包,出现complete ! 即安装成功

1.3 启动改密码

(1)启动命令:systemctl start mysqld
查看临时密码:cat /var/log/mysqld.log

(2)执行初始化的脚本:mysql_secure_installation ,进行修改密码,新密码有强壮度要求(大小写+特殊字符+数字)

1.4 登录

命令:mysql -p,登录mysql服务
命令:show databases; 查看数据库

2. mysql复写操作

参考文档:https://dev.mysql.com/doc/refman/8.0/en/

2.1 设置基于二进制日志文件位置的复制

(1)开启两个虚拟机,sever1和sever2,并都安装mysql
(2)配置主从

  • 主机和每个从机都必须配置唯一的 ID ,分别在主、从机的 /etc/my.cnf 里面进行配置:在最后加上 server-id=1、server-id=2,即将sever1设置为主机,sever2设置为从机
  • 分别重启 :mysql systemctl restart mysqld


    (3)在主机上创建用于复制的用户
    要创建一个新帐户,向该帐户授予复制所需的特权,这里允许192.168.0的网段有访问权限
CREATE USER 'repl'@'192.168.0.%' IDENTIFIED with mysql_native_password BY '自己设置密码';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.0.%';


(4)用从机连接主机
mysql:mysql -h 192.168.0.200 -u repl -p

此时,从机连上了主机,主机状态发生变化,二进制日志文件 binlog.000007 在不断变更
当主机挂了之后,从机是可以接管的

(5)在从机上设置主配置

CHANGE MASTER TO
MASTER_HOST='192.168.0.100',
MASTER_USER='repl',
MASTER_PASSWORD='前面设置的密码',
MASTER_LOG_FILE='binlog.000007',
MASTER_LOG_POS=678;


(6)在主机创建一个数据库和表

create database demo1;
use demo1;
create table tab1(
id int not null,
name varchar(20) not null);
insert into tab1 values(1,'user1');
insert into tab1 values(2,'user2');


(7)通过从机进行查看

在主机上进行任何操作,从机上均可显示,这就是复制。(单向)

2.2 使用GTID设置复制

(1)启动两个启用了GTID的服务器
在主从机的配置文件中都添加如下命令,再重启mysql使之生效

gtid_mode=ON
enforce-gtid-consistency=ON



(2)配置从站以使用基于GTID的自动定位,先stop slave

CHANGE MASTER TO
MASTER_HOST='192.168.0.100',
MASTER_USER='repl',
MASTER_PASSWORD='前面设置的密码',
MASTER_AUTO_POSITION = 1;

再次启动从机:start slave

(3)在主机上再编写一条插入语句,进行测试
insert into tab1 values (3,‘user3’);

(4)通过从机进行查看

显示mysql线程的命令:show processlist;

2.3 半同步复制的安装和配置

半同步复制是使用插件实现的,因此必须将插件安装到服务器中才能使用它们。安装插件后,可以通过与其关联的系统变量来控制它。在安装了相关的插件之前,这些系统变量不可用。

(1)安装插件

show plugins;   显示插件
INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so';  主机安装插件
INSTALL PLUGIN rpl_semi_sync_slave SONAME 'semisync_slave.so';   从机安装插件
show variables like 'rpl%';   查看插件状态


可以看出,默认是关闭状态

(2)开启半同步

SET GLOBAL rpl_semi_sync_master_enabled = 1;  主机开启半同步
SET GLOBAL rpl_semi_sync_slave_enabled = 1;  从机开启半同步



此时,只是开启了,还没有生效!

(3)重启从机的io线程,使之生效

stop slave io_thread;   关闭io线程
start slave io_thread;  开启io线程


(4)测试
主机插入user4和user5,在从机上查询


2.4 延迟复制

MySQL支持延迟复制,以便从属服务器故意比主服务器晚至少指定的时间量执行事务。
默认复制延迟为0秒
(1)首先关闭 slave,再设置延迟时间,再开启 slave

(2)主机插入用户测试
需要等待30s之后,才会读取日志,才能在从机上刷出刚添加的数据。

3. 慢查询

查看慢查询发现默认是关闭状态 :show variables like ‘slow%’;

(1)开启慢查询 :set global slow_query_log=1;

(2)查看慢查询默认时间

(3)设置慢查询时间,并查看慢查询日志

Linux(三)——mysql服务相关推荐

  1. linux mysql 怎么启动客服端_脚本之家教你linux如何启动mysql服务教程图解 linux启动mysql服务命令是什么...

    mysql数据库是一种开放源代码的关系型数据库管理系统,有很多朋友都在使用.一些在linux系统上安装了mysql数据库的朋友,却不知道该如何对mysql数据库进行配置.那么linux该如何启动mys ...

  2. linux系统mysql服务启动失败

    查看mysql.sock文件,如忘记了文件位置,则查看/etc/my.cnf文件. 查看mysql.sock文件是否存在 若不存在 1.service mysqld stop (停止服务) 2.rm ...

  3. linux下mysql服务架设_linux下源码搭建php环境之mysql(一)

    现在已经大半夜了,五一劳动节挺无聊的. 折腾一下吧,实在是睡不着.于是乎在电脑上安装个虚拟机,然后呢,在虚拟机上搭建一个php环境. 首先我得安装MYSQL吧.发现遇到的问题真多..待我娓娓道来. 主 ...

  4. linux重启mysql服务_LINUX重启MYSQL的命令

    文:老苏 2012-12-02/20:58 如何启动/停止/重启MySQL 一.启动方式 1.使用 service 启动:service mysqld start 2.使用 mysqld 脚本启动:/ ...

  5. 【MySQL】Linux部署MySQL服务(官网部署方式rpm)

    目录 开始语

  6. linux系统安装mysql

    linux安装mysql服务分两种安装方法: ①源码安装,优点是安装包比较小,只有十多M,缺点是安装依赖的库多,安装编译时间长,安装步骤复杂容易出错: ②使用官方编译好的二进制文件安装,优点是安装速度 ...

  7. 设置MySQL服务的字符集为uft8

    windows 停止MySQL服务: 在MySQL的安装目录下找到my.ini,如果没有就把my-default.ini复制为my.ini: 打开my.ini,在[client]下加上default- ...

  8. CentOS7 安装 Mysql 服务

    我希望所有的软件包都用 rpm.yum 安装,这样卸载.升级.管理方便,可是自带的 yum 仓库里面没有 mysql-server 或者不是最新的,我需要安装MySQL官方的 yum 仓库, http ...

  9. 【Linux系统和服务管理】MySQL服务器安装与配置(一)

    一.安装Mysql 1.下载MySQL的安装文件  安装MySQL需要下面两个文件:  MySQL-server-4.0.16-0.i386.rpm   MySQL-client-4.0.16-0.i ...

最新文章

  1. 雷观(十七):想拉人入伙,合伙创业,请拿出一点认真的态度
  2. 【Android Protobuf 序列化】Protobuf 使用 ( Protobuf 序列化 | Protobuf 反序列化 )
  3. Linux备份压缩命令
  4. 如何让文字溢出自动变成省略号
  5. RUNOOB python练习题1
  6. python基本符合_python 3-3(2019-11-06 ) Python基础 (三)
  7. Servlet学习笔记(四)之请求转发与重定向(RequestDispatcher与sendRedirect)
  8. SpringCloud工作笔记077---SpringBoot中使用JPA操作数据库
  9. Asp.Net WebAPI传递json对象、后台手动接收参数
  10. python 句子中没有中文_使用python进行汉语分词
  11. 加载elementor时出现问题_Elementor新手教程:怎么使用elementor设计网站页面!
  12. uniapp h5在线预览word文档ppt等
  13. adb安装apk程序
  14. 发现Chrome小恐龙彩蛋的第n+1个使用者
  15. 物联网技术技术架构以及物联网应用领域的介绍
  16. Aviary发布iOS和Android App 成功从Android插件转型独立应用
  17. 03_跳转sucess方法和error方法
  18. intellij idea 类和文件夹(目录)左上角出现小叉号
  19. echarts 词云图使用 + vue
  20. 全面梳理关系型数据库和NoSQL的使用情景

热门文章

  1. 周志华眼中的贝叶斯方法(转)
  2. Bayesian Networks
  3. 【转载】如果让我重做一次研究生--王泛森院士
  4. android 加载更多,如何在android中实现加载更多的recyclerview
  5. post请求需要加密吗_Python接口自动化Requets之http请求(2)
  6. linux vnc的小黑点和鼠标不同步_公欲善其事 | VNC的安装和使用
  7. 2020-12-03 The Geometry of Rotations and Rigid-Body Motions (刚体运动和旋转的几何表示,罗德里格参数)
  8. mysql 存储过程与存储函数
  9. select自定义箭头问题 。。。和一行内不同颜色的整体鼠标滑过变色
  10. 链表操作---面向过程--到---面型对象---到模板类