我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MySQL数据管理6

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

MySQL数据管理6

 配置主从同步的步骤

环境准备

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

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网络结构有问题







免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

MySQL数据管理6

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

下载Word文档

猜你喜欢

MYSQL数据库管理之权限管理解读

目录一、mysql权限简介1.MYSQL到底都有哪些权限呢?2.MYSQL的权限如何分布二、MYSQL权限经验原则三、MYSQL权限实战1.GRANT命令使用说明2.创建一个超级用户3.创建一个网站用户(程序用户)4.创建一个普通用户(仅有
2023-03-20

【⑩MySQL】:表管理,让数据管理不再困难

前言 ✨欢迎来到小K的MySQL专栏,本节将为大家带来MySQL表/数据库创建和管理的讲解✨ 目录 前言1. 基础知识2. 创建和管理数据库3.创建表4. 修改表5. 删除表6.总结 1. 基础知识 ✨1.1 表的基本概
2023-08-17

MySQL整理对数据管理的影响

MySQL整理对数据管理的影响MySQL是一种开源的关系型数据库管理系统,被广泛应用于各种网站和应用程序中。在数据库管理中,数据整理是一个重要的步骤,它涉及对数据的存储、检索、更新和删除等操作。本文将探讨MySQL整理对数据管理的影响,并
MySQL整理对数据管理的影响
2024-03-01

MYSQL数据库管理之权限管理怎么配置

这篇“MYSQL数据库管理之权限管理怎么配置”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“MYSQL数据库管理之权限管理怎么
2023-03-20

mysql是数据库管理软件吗

mysql是一款开源的关系型数据库管理软件,可存储、管理和检索数据,广泛应用于各种应用程序中。其重要特征包括:数据存储、数据操作、查询语言(sql)、数据完整性、事务支持和可扩展性。MySQL 是数据库管理软件MySQL 是一款开源的关系
mysql是数据库管理软件吗
2024-08-01

编程热搜

目录