mysql数据库

mycat扩容问题

♀尐吖头ヾ 提交于 2020-02-21 19:17:37
上一篇写了mycat扩容的操作,但是还有一个添加节点扩容后数据没有迁移的问题遗留,确实会出现很多问题,一般都是和mysql交互的问题,本人问题已解决,所以记录一下注意事项: 出现的错误有mysql权限1045问题 mysql1064错误 mysql无法连接错误等,也可以去查看mycat的源码,不过源码一般问题不大,总结了以下几点: 1.mysql密码尽量设置成没有特殊符号的,也可以先修改,扩容完成后改回去, 2.每个配置文件都不要有错误,有时候错误不会呈现到具体的文件上 3.链接数据库的方式有2种,native和jdbc,native连不上的时候注意修改成jdbc 4.数据库权限要设置对,比如root账户的各种权限 5.还有设置允许远程链接 来源: CSDN 作者: 大脸猫小王 链接: https://blog.csdn.net/qq_33337927/article/details/104423096

MHA部署实现高可用(3)

廉价感情. 提交于 2020-02-21 18:44:05
一、启动MHA [root@c733 ~]# nohup masterha_manager --conf=/etc/mha/app1.cnf --remove_dead_master_conf --ignore_last_failover < /dev/null > /var/log/mha/app1/manager.log 2>&1 & 查看MHA状态 [root@c733 ~]# masterha_check_status --conf=/etc/mha/app1.cnf 关闭MHA [root@c733 ~]# masterha_stop --conf=/etc/mha/app1.cnf 从库重新加入主库 [root@c733 ~]# grep "CHANGE MASTER TO MASTER" /var/log/mha/app1/manager.log | tail -1 二、测试MHA故障转移 1、停掉c731主库192.168.37.31 [root@c731 ~]# systemctl stop mysql 查看c733的slave状态,发现master_host变成了192.168.37.32 [root@c733 ~]# mysql -uroot -p123456 -e 'start slave;' Warning: Using a password on the

mysql 索引优化 实战概述

孤街醉人 提交于 2020-02-21 10:04:40
https://www.cnblogs.com/hephec/p/4557053.html 曾经偷偷的面试了两个单位,都提到了Mysql的优化问题,所以以后要多多学习数据库的优化知识了。建设数据库的优化大概主要就是索引的优化了吧,因为我们不可能修改数据结构的情况下,提高数据库的查询效率似乎也只能用索引了。当然这也是建立在你sql语句写的比较科学的情况下,如果你的sql语句本身就写的比较垃圾,神仙也救不了你! 下边是在网上找到的一些资料,保留下来备用吧 1,创建索引 对于查询占主要的应用来说,索引显得尤为重要。很多时候性能问题很简单的就是因为我们忘了添加索引而造成的,或者说没有添加更为有效的索引导致。如果不加索引的话,那么查找任何哪怕只是一条特定的数据都会进行一次全表扫描,如果一张表的数据量很大而符合条件的结果又很少,那么不加索引会引起致命的性能下降。但是也不是什么情况都非得建索引不可,比如性别可能就只有两个值,建索引不仅没什么优势,还会影响到更新速度,这被称为过度索引。 2,复合索引 比如有一条语句是这样的:select * from users where area=’beijing’ and age=22; 如果我们是在area和age上分别创建单个索引的话,由于mysql查询每次只能使用一个索引,所以虽然这样已经相对不做索引时全表扫描提高了很多效率,但是如果在area

MySQL 索引优化

随声附和 提交于 2020-02-21 10:03:35
1,创建索引 对 于查询占主要的应用来说,索引显得尤为重要。很多时候性能问题很简单的就是因为我们忘了添加索引而造成的,或者说没有添加更为有效的索引导致。如果不加索 引的话,那么查找任何哪怕只是一条特定的数据都会进行一次全表扫描,如果一张表的数据量很大而符合条件的结果又很少,那么不加索引会引起致命的性能下降。 但是也不是什么情况都非得建索引不可,比如性别可能就只有两个值,建索引不仅没什么优势,还会影响到更新速度,这被称为过度索引。 2,复合索引 比如有一条语句是这样的:select * from users where area=’beijing’ and age=22; 如 果我们是在area和age上分别创建单个索引的话,由于mysql查询每次只能使用一个索引,所以虽然这样已经相对不做索引时全表扫描提高了很多效率, 但是如果在area、age两列上创建复合索引的话将带来更高的效率。如果我们创建了(area, age, salary)的复合索引,那么其实相当于创建了(area,age,salary)、(area,age)、(area)三个索引,这被称为最佳左前缀 特性。因此我们在创建复合索引时应该将最常用作限制条件的列放在最左边,依次递减。 3,索引不会包含有NULL值的列 只要列中包含有NULL值都将不会被包含在索引中,复合索引中只要有一列含有NULL值

MySql索引要注意的8个事情

試著忘記壹切 提交于 2020-02-21 09:57:44
设计好 MySql 索引 可以让你的数据库查询效率大为提高。设计 MySql 索引 的时候,有一些 问题 需要值得我们 注意 的: 1,创建MySql索引 对于查询占主要的应用来说,索引显得尤为重要。很多时候性能 问题 很简单的就是因为我们忘了添加索引而造成的,或者说没有添加更为有效的索引导致。如果不加 索引的话,那么查找任何哪怕只是一条特定的数据都会进行一次全表扫描,如果一张表的数据量很大而符合条件的结果又很少,那么不加索引会引起致命的性能下 降。但是也不是什么情况都非得建索引不可,比如性别可能就只有两个值,建索引不仅没什么优势,还会影响到更新速度,这被称为过度索引。 2,复合索引 比如有一条语句是这样的:select * from users where area=’beijing’ and age=22; 如果我们是在area和age上分别创建单个索引的话,由于mysql查询每次只能使用一个索引,所以虽然这样已经相对不做索引时全表扫描提高了很多效 率,但是如果在area、age两列上创建复合索引的话将带来更高的效率。如果我们创建了(area, age, salary)的复合索引,那么其实相当于创建了(area,age,salary)、(area,age)、(area)三个索引,这被称为最佳左前缀 特性。因此我们在创建复合索引时应该将最常用作限制条件的列放在最左边,依次递减。

MySql数据库索引优化注意事项

▼魔方 西西 提交于 2020-02-21 09:57:15
  设计好MySql的索引可以让你的数据库飞起来,大大的提高数据库效率。设计MySql索引的时候有一下几点注意:   1,创建索引   对于查询占主要的应用来说,索引显得尤为重要。很多时候性能问题很简单的就是因为我们忘了添加索引而造成的,或者说没有添加更为有效的索引导致。如果不加索引的话,那么查找任何哪怕只是一条特定的数据都会进行一次全表扫描,如果一张表的数据量很大而符合条件的结果又很少,那么不加索引会引起致命的性能下降。但是也不是什么情况都非得建索引不可,比如性别可能就只有两个值,建索引不仅没什么优势,还会影响到更新速度,这被称为过度索引。   2,复合索引   比如有一条语句是这样的:select * from users where area='beijing' and age=22;   如果我们是在area和age上分别创建单个索引的话,由于mysql查询每次只能使用一个索引,所以虽然这样已经相对不做索引时全表扫描提高了很多效率,但是如果在area、age两列上创建复合索引的话将带来更高的效率。如果我们创建了(area, age, salary)的复合索引,那么其实相当于创建了(area,age,salary)、(area,age)、(area)三个索引,这被称为最佳左前缀特性。因此我们在创建复合索引时应该将最常用作限制条件的列放在最左边,依次递减。   3

对MYSQL注入相关内容及部分Trick的归类小结

一世执手 提交于 2020-02-21 09:16:48
前言 最近在给学校的社团成员进行web安全方面的培训,由于在mysql注入这一块知识点挺杂的,入门容易,精通较难,网上相对比较全的资料也比较少,大多都是一个比较散的知识点,所以我打算将我在学习过程中遇到的关于的mysql注入的内容给全部罗列出来,既方便个人之后的复习,也方便后人查找相关资料。 本文部分内容可能会直接截取其他大牛的文章,截取的内容我都会进行声明处理。如有侵权,请发email联系我(asp-php#foxmail.com)删除。 本文首发于先知社区,转载需注明来源+作者ID:Yunen。 Mysql简介 在正式讲解mysql注入的内容前,我认为还是有必要说明一下什么是mysql、mysql的特点是什么等内容,这些东西看起来可能对注入毫无帮助,开始却能很好的帮助我们学习,融会贯通。 MySQL是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是一种 关联数据库管理系统 ,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。 MySQL是 开源 的,所以你不需要支付额外的费用。 MySQL使用 标准的 SQL 数据语言 形式。 MySQL可以运行于多个系统上,并且 支持多种语言 。这些编程语言包括 C、C++、Python、Java、Perl、PHP、Eiffel

本人的第一个博客

家住魔仙堡 提交于 2020-02-21 08:00:05
hello world 个人运维技能必备 语言: Python、Shell 系统: Linux、Windows 数据库: Mysql、Redis、MongoDB MySQL代理: Mycat、Altas、Cobar 版本管理: Git 高可用/负载均衡 LVS、Nginx、HAProxy、Keepalived 批量管理: Ansible、Saltstack 装机: Kickstart、Cobbler 容器/虚拟化: Docker、KVM、VM 持续集成: Jenkins 日志: ELK Stack 监控: Zabbix、Promentheus、Grafana、告警平台、Drools监控 分布式: Ceph、GlusterFS、FastDFS web: Nginx、Tomcat、Apache 抓包分析: Tcpdump、Wireshark 同步备份: Rsync 来源: https://www.cnblogs.com/small-wei/p/10825972.html

MySQL的高可用实现方案之mysql-mmm

心已入冬 提交于 2020-02-21 07:43:16
一、环境简述 1、工作逻辑图 2、MySQL-MMM优缺点 优点:高可用性,扩展性好,出现故障自动切换,对于主主同步,在同一时间只提供一台数据库写操作,保证的数据的一致性。 缺点:Monitor节点是单点,可以结合Keepalived实现高可用,对主机的数量有要求,需要实现读写分离,对程序来说是个挑战。 3、MySQL-MMM工作原理 MMM(Master-Master replication managerfor Mysql, Mysql主主复制管理器 )是一套灵活的脚本程序,基于 perl实现,用来对 mysql replication进行监控和故障迁移,并能管理 mysql Master-Master复制的配置 (同一时间只有一个节点是可写的 )。 mmm_mond:监控进程,负责所有的监控工作,决定和处理所有节点角色活动。此脚本需要在监管机上运行。 mmm_agentd:运行在每个mysql服务器上的代理进程,完成监控的探针工作和执行简单的远端服务设置。此脚本需要在被监管机上运行。 mmm_control:一个简单的脚本,提供管理mmm_mond进程的命令。 mysql-mmm的监管端会提供多个虚拟IP(VIP),包括一个可写VIP,多个可读VIP,通过监管的管理,这些IP会绑定在可用mysql之上,当某一台mysql宕机时,监管会将VIP迁移至其他mysql。

mysql主从同步错误代码1008

可紊 提交于 2020-02-21 07:12:52
错误描述   前一天在主库上建立了daxia数据库,然后立马就删除了,导致从库并没有同步完成,然后再去执行binlog中删除的操作时,找不到daxia数据库,所以导致同步中断。 # 在从库上查看同步状态,如下 MySQL [(none)]> show slave status \G *************************** 1. row *************************** Slave_IO_State: Waiting for master to send event Master_Host: 172.16.1.80 Master_User: tongbu Master_Port: 3306 Connect_Retry: 60 Master_Log_File: mysql-bin.000008 Read_Master_Log_Pos: 153538609 Relay_Log_File: mysql2-relay-bin.000013 Relay_Log_Pos: 117201315 Relay_Master_Log_File: mysql-bin.000007 Slave_IO_Running: Yes Slave_SQL_Running: No Replicate_Do_DB: Replicate_Ignore_DB: Replicate_Do