广告
返回顶部
首页 > 资讯 > 数据库 >MySQL数据管理6
  • 749
分享到

MySQL数据管理6

2024-04-02 19:04:59 749人浏览 独家记忆
摘要

 配置主从同步的步骤环境准备从一定要有主库比自己多个的数据systemctl   stop  firewalldsetenforce  0物理连接能通 配置

 配置主从同步的步骤

环境准备

从一定要有主库比自己多个的数据

systemctl   stop  firewalld

setenforce  0

物理连接能通 


配置主数据库服务器

1  用户授权  

grant  replication  slave  on   *.*  to   plj@"%"  identified by  "123456";

 

2 修改配置文件

vim /etc/my.cnf

server_id=12

log_bin=master12

log_fORMat="mixed"

:wq

3 重启数据服务

systemctl  restart  Mysqld


4 查看当前使用的 binlog日志信息

mysql  -uroot   -p123123

mysql> show master status;



配置从数据库服务器

1  验证主库授权用户

mysql  -h292.168.4.12   -uplj   -p123456

mysql> 


2  修改配置文件

vim /etc/my.cnf

server_id=11

log_bin=slave11   #可选

log_format="mixed"

:wq


3  重启数据服务

systemctl  restart  mysqld

4  管理员登录把自己指定为从数据库服务器

mysql -uroot  -p654321

mysql> show  slave status\G;

mysql> change  master  to  master_host="192.168.4.12",master_user="plj",master_passWord="123456",master_log_file="master12.000001",master_log_pos=154;


5  启动slave 进程

mysql> start  slave;


6  查看slave 进程状态信息

mysql> show  slave status\G;

slave_io_running: yes

slave_sql_running: yes


验证主从同步配置

客户端访问主数据库服务器,创建库 表记录 ,在从数据服务器上也能够看到



主从同步工作原理

slave_io_running:  把主数据库服务器上binlog日志里的sql 存放到本机的中继日志文件里。

Last_IO_Error: 报错信息

出错原因: 从服务器连接不上主数据库服务器

                   ping   firewalld   selinux   

                   change master to 的配置信息错误。


slave_sql_running:执行本机中继日志文件里的sql命令。

Last_SQL_Error: 报错信息


mysql>stop  slave;

mysql>change  master  to  选项=值,选项=值;

mysql>start  slave;


cd /var/lib/mysql/

master.info   连接主数据库服务器的信息

relay-log.info  中继日志文件

localhost-relay-bin.xxxxxx   中继日志文件

localhost-relay-bin.index     中继日志索引文件



把一台数据库服务器恢复为独立的数据库服务器。

#cd /var/lib/mysql

#rm -rf  master.info   relay-log.info    localhost-relay-bin.*

#systemctl  restart   mysqld


让从数据库服务器临时不同步数据(想同步再启动就可以了)

mysql>stop  slave ;


+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

day06

mysql主从同步结构模式

一主一从

一主多从

主从从

主主结构(互为主从)

+++++++++++++++++++++++++++++

mysql主从同步配置参数

主数据库服务器使用的配置参数

/etc/my.cnf

[mysqld]

binlog_do_db=数据库名,数据库名    #只允许同步的库

binlog_ignore_db=数据库名,数据库名  #只不允许同步的库

:wq

#systemctl  restart   mysqld


从数据库服务器使用的配置参数

/etc/my.cnf

[mysqld]

log_slave_updates # 允许级联复制

relay_log=名       #中继日志文件名

replicate_do_db=数据库名,数据库名 #只同步的库

replicate_ignore_db=数据库名,数据库名  #只不同步的库

:wq

#systemctl  restart   mysqld

++++++++++++++++++++++++++++++

中间件maxscale


读写分离 (maxscale +  mysql主从同步)

maxscale-2.1.2-1.rhel.7.x86_64.rpm

需求 在主机192.168.4.10配置读写分离服务,客户端连接后,


把执行的查询请求分配给192.168.4.11主机,执行的写请求分


配给192.168.4.12主机,



配置

1  把11 主机配置为12的从数据库服务器


2 在主机10运行实现读写分离功能的服务maxscale


2.1 安装软件包

rpm -ivh maxscale-2.1.2-1.rhel.7.x86_64.rpm


2.2 修改配置文件

# sed -i  '/#/d' /etc/maxscale.cnf

# vim /etc/maxscale.cnf

[root@localhost ~]# cat /etc/maxscale.cnf

[maxscale]

threads=1


[server1]

type=server

address=192.168.4.12

port=3306

protocol=MySQLBackend


[server2]

type=server

address=192.168.4.11

port=3306

protocol=MySQLBackend


[MySQL Monitor]

type=monitor

module=mysqlmon

servers=server1,server2

user=scalemon

passwd=111111

monitor_interval=10000


[Read-Write Service]

type=service

router=readwritesplit

servers=server1,server2

user=maxscale

passwd=111111

max_slave_connections=100%


[MaxAdmin Service]

type=service

router=cli


[Read-Write Listener]

type=listener

service=Read-Write Service

protocol=MySQLClient

port=4006


[MaxAdmin Listener]

type=listener

service=MaxAdmin Service

protocol=maxscaled

Socket=default

port=6606

[root@localhost ~]# 


配置文件说明

0 设置服务运行启动的线程数量 

[maxscale]


1 数据库服务器成员  [server1]    [server2]


2 监控数据库服务器成员列表 [MySQL Monitor]

user=scalemon     //用户名

passwd=111111   //密码


3 指定在那些数据库服务器之间做读写分离

[Read-Write Service]

user=maxscale     //用户名

passwd=111111  //密码


4 定义管理服务       

[MaxAdmin Service]  


5 读写分离服务监控的端口号 

[Read-Write Listener]

   

6 指定管理服务监听的端口号

[MaxAdmin Listener]


2.2根据配置文件的设置添加授权用户(12   11)

scalemon用户

grant replication slave, replication client on *.* to scalemon@"%"  identified by “111111”;  //创建监控用户


maxscale用户

grant select on mysql.* to maxscale@'%' identified by "111111”;  //创建路由用户


2.4 启动maxscale

#maxscale  -f  /etc/maxscale.cnf

#netstat -utnalp  | grep :4006

#netstat -utnalp  | grep :6606

#maxadmin -uadmin  -pmariadb -P6606

MaxScale> list servers

Servers.

-------------------+-----------------+-------+-------------+--------------------

Server             | Address         | Port  | Connections | Status              

-------------------+-----------------+-------+-------------+--------------------

server1            | 192.168.4.12    |  3306 |           0 | Master, Running

server2            | 192.168.4.11    |  3306 |           0 | Slave, Running

-------------------+-----------------+-------+-------------+--------------------

MaxScale>quit

[root@localhost ~]#


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

在主从数据库服务器上客户端访问数据时使用的连接用户

mysql>grant all on  *.*  to student@"%" identified by 


"123456";


客户端访问

#which mysql

#mysql  -h292.168.4.10   -P4006 -ustudent   -p123456

mysql>select   ---->  11   从

mysql>insert   ---->  12   主


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

mysql性能调优

数据库服务器处理客户端的访问速度特别慢,可能是由哪些原因


造成的?


1 网络带宽不够

2 服务器配置太低

3提供数据库服务软件版本低

查看服务运行时的运行参数(变量)

mysql  -uroot  -p123123

mysql> show  variables  like  "%关键字%";

mysql> set  [GLOBAL]  变量名=值;


vim /etc/my.cnf

[mysqld]

变量=值

:wq



并发连接数

max_connections


mysql> show  global  status like "%max_used_conn%";


Max_used_connections/max_connections=0.85  * 100%


连接超时时间

mysql>show  variables  like   "%timeout%";

connect_timeout=10

wait_timeout=28800 


允许保存在缓存中被重用的线程数量

thread_cache_size=10


为所有线程缓存的打开的表的数量

table_open_cache =3



查询缓存参数设置?

mysql> show  variables like  "query_cache%";


query_cache_type=0/1/2


1  select * from t1;   <1m

2  select in_sql_cache * from t1;


query_cache_wlock_invalidate  off

对myisam 存储引擎有效。



pc1   select   name  from t1 where name="jim"; 

          name=jim


pc2  select   name  from t1 where name="jim";


pc3  update  t1  set  name="tom" where name="jim";


显示查询缓存统计信息

mysql>show global status like  "qcache%";



4程序员编程程序有问题(访问数据是编写的sql命令复杂导致处


理速度慢)

mysql服务支持4种日志文件:

错误日志     binlog   查询日志   慢查询日志

默认开启


查询日志:客户端连接服务器后执行的所有的sql命令。

general-log

general-log-file=目录/名


默认存储位置和名称

cat  /var/lib/mysql/主机名.log


慢查询日志 :客户端连接服务器后,记录超过指定时间(默认


10秒)显示查询结果的sql命令。

slow-query-log

slow-query-log-file=目录/名

long-query-time=3

默认存储位置和名称


mysql> select sleep(11);


cat   /var/lib/mysql/主机名-slow.log


# mysqldumpslow localhost-slow.log > /tmp/sql.err





4程序员编程程序有问题(访问数据是编写的sql命令复杂导致处理速度慢)


启用慢查询日志 ,记录超过指定时间显示查询结果的sql命令


5网络结构有问题







您可能感兴趣的文档:

--结束END--

本文标题: MySQL数据管理6

本文链接: https://www.lsjlt.com/news/40315.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL数据管理6
     配置主从同步的步骤环境准备从一定要有主库比自己多个的数据systemctl   stop  firewalldsetenforce  0物理连接能通 配置...
    99+
    2022-10-18
  • MySQL数据管理7
    部署mysql高可集群 mysql-mmm + mysql主从同步环境准备  (四台数据库服务器 12   11    10    9 )syst...
    99+
    2022-10-18
  • MySQL数据库管理
    SQL语句概述 SQL语言 是Structured Query Language的缩写,即结构化查询语言 是关系型数据库的标准语言 用于维护管理数据库,如数据查询、数据更新、访问控制、对象管理等功能 S...
    99+
    2022-10-18
  • MySQL数据库管理2
    te  database   db102; create  table db102.t1(name char(6),age  int(3));in...
    99+
    2022-10-18
  • 如何管理mysql数据库
    管理mysql数据库的方法可以打开mysql脚本,输入密码登录,通过以下命令进行管理:查看一下数据库列表:“# show databases;”进入某个数据库:“ # use databaseName;”查看数据库的表项:“#sh...
    99+
    2022-10-22
  • MYSQL数据库管理之权限管理解读
    目录一、mysql权限简介1.MYSQL到底都有哪些权限呢?2.MYSQL的权限如何分布二、MYSQL权限经验原则三、MYSQL权限实战1.GRANT命令使用说明2.创建一个超级用户3.创建一个网站用户(程序用户)4.创...
    99+
    2023-03-20
    MYSQL数据库管理 MYSQL权限管理 MYSQL权限
  • 【⑩MySQL】:表管理,让数据管理不再困难
    前言 ✨欢迎来到小K的MySQL专栏,本节将为大家带来MySQL表/数据库创建和管理的讲解✨ 目录 前言1. 基础知识2. 创建和管理数据库3.创建表4. 修改表5. 删除表6.总结 1. 基础知识 ✨1.1 表的基本概...
    99+
    2023-08-17
    mysql android 数据库
  • Python [6] IT资产管理(下)
    上一篇博客聊到以下内容1、安装django2、部署工程和应用3、修改、添加工程和应用配置文件并能成功url访问4、Python脚本采集主机信息5、通过post方式传送搜集的信息到服务器端6、主机分组如需更详细的了解,请参考http://46...
    99+
    2023-01-31
    资产管理 Python
  • 6月3日管理日记
    今天,重新安装趋势的中小企业包,安装在windows 2008 r2运行正常,主要是昨天不小心把iscsi连错了,将vmware上的iscsi连到的2008上一点连接后,iscsi磁盘变为raw格式,上面的虚机全报销了,只能重装。 在一台D...
    99+
    2023-01-31
    日记
  • 6、【MySQL】使用DQL命令查询数据(二)
    ✅作者简介:热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:乐趣国学的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏:MySQL数据库学习之旅 ...
    99+
    2023-09-07
    mysql 数据库 sql
  • nodejs进阶(6)—连接MySQL数据库示例
    1. 建库连库 连接MySQL数据库需要安装支持 npm install mysql 我们需要提前安装按mysql sever端 建一个数据库mydb1 mysql> CREATE ...
    99+
    2022-06-04
    进阶 示例 数据库
  • MySQL 服务和数据库管理
    目录1、启动和关闭服务指令1.1windows下Mysql5.7官方MSI安装地址1.2、windows下1.3、linux下1.4、windows下cmd窗体进入mysql:1.4...
    99+
    2022-11-12
  • MySQL数据库的基本管理
    概述MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理。MySQL是开放源代码的,因此任何人都可以在General Publ...
    99+
    2022-10-18
  • MySQL数据库的权限管理
    Mysql权限系统非常重要,但同时又是一个很多开发者或管理者所忽略的。权限分配不但,将会造成难以挽回的悲惨后果。我之前所在一家公司,关于数据库权限这块就完全不重视,所有开发者都有线上系统的最高权限。想想看,...
    99+
    2022-10-18
  • MySQL数据库及表的管理
    库管理1.创建数据库mysql> help create database; CREATE {DATABASE | SCHEMA}&nbs...
    99+
    2022-10-18
  • MYSQL数据库管理中怎么实现权限管理
    本篇文章为大家展示了MYSQL数据库管理中怎么实现权限管理,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。 MYSQL权限简介关于mysql的权限简单的理解就是m...
    99+
    2022-10-18
  • MYSQL数据库管理之权限管理怎么配置
    这篇“MYSQL数据库管理之权限管理怎么配置”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“...
    99+
    2023-03-20
    mysql
  • MySQL数据库用户授权管理
    一、用户授权1、注意事项:-  MySQL数据库服务器搭建好之后,放在独立的房间里或者是IDC机房,MySQL数据库服务默认只允许数据库管理员root在本地登录,要在其他客户端登录管理数据库则需要...
    99+
    2022-10-18
  • 安装phpMyAdmin来管理Mysql数据库
    在https://www.apachefriends.org/download.html下载 xampp安装包,一键安装最简单。 进行安装,默认是安装在/opt目录下。 [root@D2...
    99+
    2022-10-18
  • mycat实战(二)-mysql数据库管理
    前面介绍了基于mycat中间的mysql架构,从mysql数据库、mycat集群,haproxy(或者lvs)各个环节灭掉了单点,再加上mycat的守护进程,在高可用和负载均衡上投入到生产都没啥问题。 ...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作