Mysql
上海阿丽
加油
展开
-
mysql参数之skip_networking
该变量控制是否关闭TCP/IP连接,默认允许,如果启用,则只能本地socker连接。如果只是本地客户端连接,强烈建议开启。原创 2021-02-25 15:02:40 · 3250 阅读 · 0 评论 -
mysql参数之skip_name_resolve
全局,不能动态修改,默认为OFF客户端连接时是否解析主机名,默认解析,增加了连接时间。建议开启,禁止解析主机名,减少连接创建时间。另外一个参数:skip_host_cache主机名缓存,以加快解析,禁用后客户端连接每次查找DNS。同host_cache_size=0,但host_cache_size更为灵活,因为可以运行时调整大小,启用或禁用主机缓存。...原创 2021-02-25 14:54:19 · 1650 阅读 · 0 评论 -
mysql完整备份策略
innobackupex完整备份策略:全量备份:每周日/每月1日/每年最后一天(分别保留1月/1年/5年)增量备份:除全备的每天日志备份:每小时:https://blog.csdn.net/u010587433/article/details/81284359#!/bin/bash. /etc/profileweek=`date +%A`today=`date +%Y%m%d`month=`date -d "${today}" +%Y%m01`year=`date -d "${toda原创 2021-02-20 16:13:23 · 145 阅读 · 0 评论 -
mysql参数之thread_cache_size
全局,动态,默认值-1表示自动调整大小,公式:8 + (max_connections / 100)。最小值0,最大值16384,查看当前:MySQL [(none)]> show variables like 'thread_cach%';+-------------------+-------+| Variable_name | Value |+-------------------+-------+| thread_cache_size | 64 |+--------原创 2021-02-20 15:56:00 · 1433 阅读 · 0 评论 -
mysql参数之key_buffer_size
全局的(非单个连接),只针对MyISAM引擎的索引缓存,对MyISAM表性能影响较大。对于8.0之前版本,即使不使用该引擎,系统表也是用的MyISAM引擎,默认值(8M),最好在my.cnf调高该值。[mysqld]key_buffer_size=128M查看大小:show variables like 'key_buffer%';+-----------------+----------+| Variable_name | Value |+-----------------+--原创 2021-02-20 15:47:21 · 2509 阅读 · 0 评论 -
Mysql审计
今天有个库被人误操作,更新时没加条件,结果全表都更新了。所以业务人员要求添加审计。Mysql有一个插件来实现,需要单独下载。1)下载:https://bintray.com/mcafee/mysql-audit-plugin/release2)解压后将libaudit_plugin.so文件拷贝到$MYSQL_HOME/lib/plugin3)然后安装即可mysql> INSTAL原创 2015-11-04 21:55:42 · 1559 阅读 · 0 评论 -
mysql双主复制
一开始就规划主主复制,配置就比较简单。但一个库已经有数据,则需要导出导入,之后步骤一样。环境:192.168.7.221服务器上两个端口3306和33091、M1(3306)vi /etc/my.cnfserver-id = 1log-bin=mysql-binlog-bin-index=binlogs.indexlog-slave-updatesauto_increment原创 2015-08-19 17:40:38 · 676 阅读 · 0 评论 -
Mysql只同步某些库
1、同步某些库只能同步bbp库replicate_do_db=bbp如果要同步多个库,则需要指定多个replicate_do_db,如同步bbp和lmis库replicate_do_db=bbpreplicate_do_db=lmis只同步某些库,会涉及跨库操作无法同步的问题:1)在其它库中或者没有选择数据库,则从库不会执行例如:主库中在mtms库中操作bbp库的数据原创 2015-10-19 16:36:12 · 2492 阅读 · 0 评论 -
Mysql只同步某些表
只同步bbp库的t_csp表replicate_do_table=bbp.t_csp同样要同步多个表,则需要指定多个replicate_do_table,如同步t_csp和md_goods_type表replicate_do_table=bbp.t_cspreplicate_do_table=lmis.md_goods_type或者指定replicate-wild-do-tabl原创 2015-10-20 18:53:46 · 3970 阅读 · 0 评论 -
Mysql自增异常
在做mysql到mysql的ogg同步,测试时不小心在一张表的自增字段上随便输入了222222,结果使得之后插入此id列从222223开始。然后业务人员就过来找我,问我怎么回事。如:当前id为97,然后手动输入下一个值222222,再插入值时id列为222223、222224。。。不过处理很简单:1、备份一下刚插入的几条异常id的记录,然后删除2、更改一下自增值:alter table原创 2015-11-05 15:50:05 · 1024 阅读 · 0 评论 -
使用navicat工具将oracle数据导入到mysql
将Oracle数据中数据导入到mysql有很多方式,sql、文本文件等,都可以完成,使用navicat的ODBC更快、更方便1)创建数据源打开控制面板、管理工具、数据源(ODBC),点击添加配置:数据源名自已定义、TNS可使用IP:PORT/SID(也可以使用客户端配置好的tnsnames.ora)、用户为要连接的用户配置完成后,测试成功2)导入数据连接原创 2015-10-13 18:15:38 · 12280 阅读 · 2 评论 -
mysql cluster管理节点配置详解
配置管理节点的配置文件如下cat mgm.cnf[NDBD DEFAULT] NoOfReplicas=1DataMemory=100MIndexMemory=20M[TCP DEFAULT]portnumber=2222 #Management process options[NDB_MGMD]hostname=192.168.7.221datadir=/h原创 2015-09-02 15:40:13 · 3221 阅读 · 0 评论 -
mysqld_safe启动报错
mysqld_safe --user=mysql &报错(如下),但是使用mysqld直接启动没有问题。150718 00:03:38 mysqld_safe Logging to '/var/log/mysqld.log'.150718 00:03:38 mysqld_safe The file /usr/local/mysql/bin/mysqlddoes not exist原创 2015-08-05 09:21:01 · 13295 阅读 · 0 评论 -
mysql cluster原理
mysql集群,不同于oracle的集群,与mongodb的分片有相似之处。mysql集群架构图(mysql官方文档)mysql集群是一个分布式数据库系统,不过不用考虑共享存储,主要通过NDB存储引擎实现。由管理节点、数据节点和SQL节点三部分组成。管理节点:负责整个集群中节点的管理工作,包括集群配置,启动关闭以及备份恢复等。同时获取节点的状态、错误信息,并将各节点的状态、原创 2015-09-01 18:10:27 · 2190 阅读 · 0 评论 -
修改mysql用户密码及资源限制
修改mysql用户密码有以下几种方式:1、mysqladminmysqladmin -S /home/mysql/run/mysql.sock -u root -pmysql password "123456" 2、set passwordmysql> set password=password("123456");或下面语句指定用户mysql> set password for r原创 2015-08-06 09:51:01 · 1080 阅读 · 0 评论 -
mysql中binlog_format模式与配置详解
Mysql复制主要有三种方式:基于SQL语句的复制(statement-based replication, SBR),基于行的复制(row-based replication, RBR),混合模式复制(mixed-based replication, MBR)。对应的,binlog的格式也有三种:STATEMENT,ROW,MIXED。1、STATEMENT模式(SBR)每一条会修改转载 2015-08-05 10:49:58 · 2002 阅读 · 0 评论 -
不确定函数引起的主从不一致
昨天开发本来找我说float类型的字段插入时报错(插入记录时指定此字段为price=''字符串引起的),但是插入语句存在id主键由uuid随机函数,而且还有一个时间字段使用了now函数。因为考虑到有从库,所以一些不确定的因素会导致主从的不一致。查看日志果然全是此警告:2015-08-05 10:18:29 24216 [Warning] Unsafe statement written t原创 2015-08-05 10:51:53 · 410 阅读 · 0 评论 -
mysql连接字符集
SET NAMES显示客户端发送的SQL语句中使用什么字符集。因此,SET NAMES 'cp1251'语句告诉服务器“将来从这个客户端传来的信息采用字符集cp1251”。它还为服务器发送回客户端的结果指定了字符集。SET NAMES 'x'语句等价于执行下面三条语句:mysql> SET character_set_client = x;mysql> SET character_s原创 2015-08-05 11:30:52 · 355 阅读 · 0 评论 -
mysql cluster安装部署
一台服务器上部署mysql集群(用于测试)。IP为192.168.7.221,端口分配如下:3311 管理节点3312 数据节点3313 数据节点3314 sql节点3315 sql节点下载:http://pan.baidu.com/s/1sjuYRDV1、创建组和用户、目录groupadd mysqluseradd -g mysql mysqlmkdir -p /ho原创 2015-08-31 23:11:25 · 1397 阅读 · 0 评论 -
Goldengate之Mysql到Mysql的同步
使用Goldengate完成Mysql到Mysql的数据同步,源库的o2m-mc库同步到目标库的gmdc库,表名GMQDSJSP1、初始化mysql1)目标库创建数据库mysql> create database gmdc;2)导入数据 将源库表GMQDSJSP数据导出,然后导入到目标库中mysqldump -uroot -p123456 --single-transac原创 2015-10-21 16:30:24 · 5623 阅读 · 5 评论 -
Mysql主从复制报错Last_Errno: 1305
Mysql主从复制某些库表时总出现各种问题,之前根据业务配置的只张同步的表如下(作用同replicate_do_table):replicate_wild_do_table=me.parana_brandsreplicate_wild_do_table=me.parana_itemsreplicate_wild_do_table=me.parana_ordersreplicate_wil原创 2015-10-22 22:43:55 · 6883 阅读 · 0 评论 -
python备份binlog
mysql备份每天进行一次全备份,服务器故障后,没有binlog的情况下,存在一天的数据丢失情况,所以每一小时或几小时备份binlog到备份服务器。当然,有主从可不备份binlog。#!/usr/bin/python#--*-- coding:utf-8 --*--import osimport timeimport loggingfrom datetime import da...原创 2018-07-30 14:31:59 · 445 阅读 · 0 评论 -
python备份mysql
#!/usr/bin/python#--*-- coding:utf-8 --*--import osimport timeimport loggingimport MySQLdb as mdbfrom datetime import datetime# LOG INFOlog='/data/scripts/logs/'isExists = os.path.exists(l...原创 2018-07-30 14:12:37 · 877 阅读 · 0 评论 -
抽取mysql binlog--maxwell部署
业务需求,抽取mysql数据到kafka,然后到es或hbase。相比canal,maxwell相对简单。版本1.14.41、前提1)mysql配置server_id,开启row格式的binlog2)kafka配置listeners最好使用ip,否则出现产生数据到kafka或到kafka后无法消费情况listeners=PLAINTEXT://192.168.104.104:9...原创 2018-07-30 11:16:04 · 2164 阅读 · 4 评论 -
xtrabackup备份脚本
#!/bin/sh##backup MYSQL db base-on xtrabackup 2.3.3# MYSQL environment variableexport MYSQL_BASE=/home/mariadb export MYSQL_HOME=$MYSQL_BASE/product/10.1/mariadb-1export DATADIR=$MYSQL_BASE/dat原创 2016-05-12 18:53:46 · 825 阅读 · 0 评论 -
源码安装xtrabackup
1、安装依赖包tar zxf cmake-3.4.1.tar.gzcd cmake-3.4.1./configuremakemake install gzip -d libev-4.22.tar.gz tar xf libev-4.22.tar cd libev-4.22 ./configure make make install rpm -ivh原创 2016-05-12 19:14:49 · 1141 阅读 · 0 评论 -
xtrabackup恢复脚本
#!/bin/sh## recover scripts: need one input parameter--the absolutely path of full backup or incr backup# execute repeatablely# base-on xtrabackup 2.3.3# MYSQL environment variableexport MYSQL原创 2016-05-12 18:55:33 · 521 阅读 · 0 评论 -
ogg同步mysql(mariadb5.5)数据到oracle
之前同步oracle到mariadb5.5,mariadb到mariadb,ogg版本都是12.1,比较顺利。这次将mariadb5.5的数据同步到oracle,因为源使用的ogg12.1,而目标使用的ogg11.2,两个不同版本,所以搞了很长时间。因为是从高版本到低版本,需要在抽取进程和传递进程中分别添加:format release 11.2,如下:view param odce1e原创 2016-01-13 15:41:15 · 3000 阅读 · 0 评论 -
Mysql慢查询日志分析工具
Anemometer工具将慢查询日志中语句存储到数据库中,并生成报告。安装PHP相关服务及perl语言相关模块(http://blog.csdn.net/u010587433/article/details/50339377),并开启http服务。同时需要安装Percona Toolkit工具(http://blog.csdn.net/u010587433/article/details/原创 2015-12-17 11:42:00 · 1985 阅读 · 0 评论 -
安装Percona Toolkit工具
Percona Toolkit包含pt-stalk(监控)、pt-pmp(堆栈信息)、pt-query-digest(生成慢查询报告)等各种功能。对服务器和Mysql的监控、故障分析和性能调整等很有帮助。安装很简单,下载http://download.csdn.net/detail/u010587433/9363361解压安装tar zxf percona-toolkit-2.2.原创 2015-12-17 10:24:32 · 1061 阅读 · 2 评论 -
查询Mysql未使用的索引
在mysql中如何找出未使用或使用次数很少的索引,这样文章比较多,但很少文章提到用这些方法存在的风险。 http://www.mysqlperformanceblog.com/2012/06/30/find-unused-indexes/ http://www.mysqlperformanceblog.com/2012/12/05/quickly-finding-unused-in转载 2015-12-15 18:47:14 · 2656 阅读 · 0 评论 -
Goldengate之Oracle到Mysql的同步
新创建的测试库(mysql),需要使用oracle库中几张表的数据,要求使用goldengate来完成oracle数据到mysql数据库的同步。此同步同oralce到oracle的同步并无太大区别,同样源库(oracle)一个抽取进程和一个传递进程,目标库(mysql)一个应用进程;初始化也可以使用goldengate完成,也可以使用别的方式(此次使用navicat工具完成),下面是具体过程:原创 2015-10-13 18:56:41 · 6078 阅读 · 0 评论 -
mysql主从复制Error_code: 1872
重做主从复制时,手动删除从库中继日志,之后开启从库时报错:[ERROR] Slave SQL: Slave failed to initialize relay log info structure from the repository, Error_code: 1872由于是rm删除中继日志,导致mysql无法进一步处理相关日志,此时需要resetmysql>reset slave原创 2015-10-13 10:55:01 · 4858 阅读 · 0 评论 -
mysqldump: Couldn't execute 'SET OPTION SQL_QUOTE_SHOW_CREATE=1'
执行备份#mysqldump -uroot -pgsm_wldb --single-transaction --flush-logs --master-data=2 -B mtms800 > /bkmysql/mtms800.20151012报错mysqldump: Couldn't execute 'SET OPTION SQL_QUOTE_SHOW_CREATE=1': You h原创 2015-10-13 11:16:25 · 4807 阅读 · 0 评论 -
重置mysql root密码
1、关闭mysql服务service mysqld stopShutting down MySQL..[ OK ]2、跳过授权表方式启动mysqlmysqld_safe --skip-grant-tables --user=mysql &启动报错:150718 00:03:38 mysqld_safe Logging to '/var/log/mysqld.log'.原创 2015-08-04 22:15:17 · 535 阅读 · 0 评论 -
innobackupex参数之--parallel --throttle
--parallel此参数用于开启多个子进程并发备份多个数据文件(注意,一个数据文件只会有一个进程完成备份)。可以加快备份速度。但是在服务器资源不足时,谨慎使用。innobackupex --user=root --password=123456 --parallel=16 /tmp--throttle此参数用于限制备份过程中每秒的IO次数。innobackupex --u原创 2015-08-17 11:09:51 · 2885 阅读 · 0 评论 -
mysqldump参数之-F
-F同参数--flush-logs,在dump之前刷新日志,即生成一个新的二进制日志。一次dump多个库时,每个库都会刷新一次。但使用--master-data或--lock-all-tables只会刷新一次。如下:show master logs;+------------------+-----------+| Log_name | File_size |+-原创 2015-08-11 14:12:48 · 2748 阅读 · 0 评论 -
mysqldump参数之-d -t -T
-d 只生成创建表结构的语句mysqldump -uroot -p123456 -d lmis md_goods_type > goods_d.sqlcat goods_d.sql DROP TABLE IF EXISTS `md_goods_type`;/*!40101 SET @saved_cs_client = @@character_set_client */;/*原创 2015-08-10 16:32:52 · 10134 阅读 · 2 评论 -
分库备份+分库恢复
由于一台mysql数据库服务器上有多个数据库,所以在考虑备份的时候也将多个库分开进行,以便在单个库出现问题时恢复。一、分库备份1、可以一个库对应一条备份语句,如:mysqldump -S /home/mysql/run/mysql.socket -uroot -p123456 --single-transaction --master-data=2 -F -B db1 |gzip >原创 2015-08-07 23:28:30 · 980 阅读 · 0 评论 -
linux下mysql odbc配置
公司内部用的SAP data service(linux,IP:136)作为DS服务器,使用ODBC连接另外一台mysql数据库服务器(linux IP:129)。所以在136上安装mysql odbc。要安装mysql odbc,前提是首先安装unixODBC。可以是rpm安装,但有依赖的rpm,比较麻烦(那当然使用yum就另当别论了),也可以是源码编译安装。一、安装unixODBC原创 2015-07-08 09:18:00 · 10883 阅读 · 5 评论