Linux(三)——mysql服务
文章目录
- 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服务相关推荐
- linux mysql 怎么启动客服端_脚本之家教你linux如何启动mysql服务教程图解 linux启动mysql服务命令是什么...
mysql数据库是一种开放源代码的关系型数据库管理系统,有很多朋友都在使用.一些在linux系统上安装了mysql数据库的朋友,却不知道该如何对mysql数据库进行配置.那么linux该如何启动mys ...
- linux系统mysql服务启动失败
查看mysql.sock文件,如忘记了文件位置,则查看/etc/my.cnf文件. 查看mysql.sock文件是否存在 若不存在 1.service mysqld stop (停止服务) 2.rm ...
- linux下mysql服务架设_linux下源码搭建php环境之mysql(一)
现在已经大半夜了,五一劳动节挺无聊的. 折腾一下吧,实在是睡不着.于是乎在电脑上安装个虚拟机,然后呢,在虚拟机上搭建一个php环境. 首先我得安装MYSQL吧.发现遇到的问题真多..待我娓娓道来. 主 ...
- linux重启mysql服务_LINUX重启MYSQL的命令
文:老苏 2012-12-02/20:58 如何启动/停止/重启MySQL 一.启动方式 1.使用 service 启动:service mysqld start 2.使用 mysqld 脚本启动:/ ...
- 【MySQL】Linux部署MySQL服务(官网部署方式rpm)
目录 开始语
- linux系统安装mysql
linux安装mysql服务分两种安装方法: ①源码安装,优点是安装包比较小,只有十多M,缺点是安装依赖的库多,安装编译时间长,安装步骤复杂容易出错: ②使用官方编译好的二进制文件安装,优点是安装速度 ...
- 设置MySQL服务的字符集为uft8
windows 停止MySQL服务: 在MySQL的安装目录下找到my.ini,如果没有就把my-default.ini复制为my.ini: 打开my.ini,在[client]下加上default- ...
- CentOS7 安装 Mysql 服务
我希望所有的软件包都用 rpm.yum 安装,这样卸载.升级.管理方便,可是自带的 yum 仓库里面没有 mysql-server 或者不是最新的,我需要安装MySQL官方的 yum 仓库, http ...
- 【Linux系统和服务管理】MySQL服务器安装与配置(一)
一.安装Mysql 1.下载MySQL的安装文件 安装MySQL需要下面两个文件: MySQL-server-4.0.16-0.i386.rpm MySQL-client-4.0.16-0.i ...
最新文章
- 雷观(十七):想拉人入伙,合伙创业,请拿出一点认真的态度
- 【Android Protobuf 序列化】Protobuf 使用 ( Protobuf 序列化 | Protobuf 反序列化 )
- Linux备份压缩命令
- 如何让文字溢出自动变成省略号
- RUNOOB python练习题1
- python基本符合_python 3-3(2019-11-06 ) Python基础 (三)
- Servlet学习笔记(四)之请求转发与重定向(RequestDispatcher与sendRedirect)
- SpringCloud工作笔记077---SpringBoot中使用JPA操作数据库
- Asp.Net WebAPI传递json对象、后台手动接收参数
- python 句子中没有中文_使用python进行汉语分词
- 加载elementor时出现问题_Elementor新手教程:怎么使用elementor设计网站页面!
- uniapp h5在线预览word文档ppt等
- adb安装apk程序
- 发现Chrome小恐龙彩蛋的第n+1个使用者
- 物联网技术技术架构以及物联网应用领域的介绍
- Aviary发布iOS和Android App 成功从Android插件转型独立应用
- 03_跳转sucess方法和error方法
- intellij idea 类和文件夹(目录)左上角出现小叉号
- echarts 词云图使用 + vue
- 全面梳理关系型数据库和NoSQL的使用情景
热门文章
- 周志华眼中的贝叶斯方法(转)
- Bayesian Networks
- 【转载】如果让我重做一次研究生--王泛森院士
- android 加载更多,如何在android中实现加载更多的recyclerview
- post请求需要加密吗_Python接口自动化Requets之http请求(2)
- linux vnc的小黑点和鼠标不同步_公欲善其事 | VNC的安装和使用
- 2020-12-03 The Geometry of Rotations and Rigid-Body Motions (刚体运动和旋转的几何表示,罗德里格参数)
- mysql 存储过程与存储函数
- select自定义箭头问题 。。。和一行内不同颜色的整体鼠标滑过变色
- 链表操作---面向过程--到---面型对象---到模板类