设为首页 收藏本站
查看: 1254|回复: 0

[经验分享] MySQL数据管理6-hj

[复制链接]

尚未签到

发表于 2018-10-7 06:12:12 | 显示全部楼层 |阅读模式
  配置主从同步的步骤
  环境准备
  从一定要有主库比自己多个的数据
  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  -h192.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  >  #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@'%'>  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@"%">  "123456";
  客户端访问
  #which mysql
  #mysql  -h192.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;   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网络结构有问题


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-614051-1-1.html 上篇帖子: mysql:error 1093 update子查询 下篇帖子: MySQL数据管理7-hj
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表