mysql
娜然
横推八百无对手,轩辕重出武圣人
展开
-
ERROR 1064 (42000): You have an error in your SQL syntax;
今天在mysql执行一个sql语句,报错:mysql> selectsum(xxxx) from xxxx wheredm='dbm' andDATE_FORMAT(sj,'%Y-%m')=DATE_FORMAT('sj$','%Y-%m');ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version fo...原创 2021-11-09 15:59:59 · 1745 阅读 · 0 评论 -
log event entry exceeded max_allowed_packet; Increase max_allowed_packet on master
mysql从库io进程停止,发错如下:Got fatal error 1236 from master when reading data from binary log: 'log event entry exceeded max_allowed_packet; Increase max_allowed_packet on master; the first event 'xxxx-master-binlog.000504' at 4212238517, the last event read fro原创 2020-09-01 09:24:32 · 3324 阅读 · 0 评论 -
is not allowed to connect to this MySQL serverConnection closed by foreign host.
telnet一个mysql服务器:# telnet 192.168.xx.xx3306Trying 192.168.xx.xx...Connected to 192.168.xx.xx.Escape character is '^]'.BHost '100.xx.xx.xx' is not allowed to connect to this MySQL serverConnection closed by foreign host.可以ping通这个服务器,但是不能telnet通3306.原创 2020-07-31 11:18:04 · 1918 阅读 · 0 评论 -
mysql binlog server
MySQL Binlog Server:是利用某个工具,把线上活跃的库的日志拉取到本地进行备份。在MySQL 5.6以后,可以利用mysqlbinlog这个命令去把远程机器的日志备份到本地目录,从而达到增量或是日志安全方面的备份。利用mysql 5.6的mysqlbinlog命令,可以把远程的binlog完全镜象一份放到本地,方法如下:/usr/local/mysql/bin/mysq原创 2016-09-08 10:47:58 · 597 阅读 · 0 评论 -
Warning: Skipping the data of table mysql.event. Specify the --events option explicitly
mysql全量导出时碰到如下告警: Warning: Skipping the data of table mysql.event. Specify the --events option explicitly原因分析: 由于mysql在全量导出时不导出event事件表,故需要在全量导出时忽略事件表解决办法: mysqldump -原创 2016-06-16 15:13:39 · 1137 阅读 · 0 评论 -
insert产生死锁dead lock的实验
session 1:mysql> create table test(id int primary key,name char(3)); Query OK, 0 rows affected (0.09 sec)mysql> begin;Query OK, 0 rows affected (0.00 sec)mysql> insert into test val原创 2016-09-30 10:43:31 · 1339 阅读 · 0 评论 -
mysql忘记了从库的复制用户的密码,通过历史命令找回
一个同事说他们mysql数据库的从库的复制用户的密码忘记了,问是否可以找回。因为从库在命令行执行的命令一般都不会太多,历史文件中可能有change master的语句,先看看,如果有,就可以看到密码了,如果没有,只能重设密码了。mysql命令行执行的命令会被记录在.mysql_history这个隐藏文件中,如果是mysql用户,则在mysql用户的根目录下面,如果用root,则在root的原创 2016-10-18 10:27:19 · 1062 阅读 · 0 评论 -
mysql和oracle的group by的rollup和cube
mysql中需要注意两点:(1)rollup和order by互斥root@localhost:gw1 04:23:17> select year(orderdate) as year,sum(qty) as sum from t group by year(orderdate) with rollup order by year;ERROR 1221 (HY000): Incorre原创 2017-08-28 16:02:34 · 1132 阅读 · 0 评论 -
mysql游标--利用游标优化sql
(1)游标是面向过程的,普通sql语句是面向集合的。(2)游标的扫描成本是o(n),集合的扫描成本可能是o(n的平方)。(3)对表的一次扫描,游标的开销要远大于面向集合的方法。但是游标的优势体现在,对于一个面向集合的解决方案所需扫描成本为o(n的平方)的情况,基于游标的解决方案可能是o(n)。(4)对于游标的使用,任何存在都是合理的,关键看能否合理利用。下面是一个利用游标优原创 2017-08-29 17:14:32 · 1788 阅读 · 0 评论 -
mysql参数completion_type
commit和commit work级别一致,都用来提交事务。(rollback和rollback work跟commit与commit work的关系一样)不同之处在于commit work用来控制事务结束后的行为是chain还是release的。如果是chain方式,那么就变成了链事务。用户可以通过参数completion_type来控制。默认为0,表示没有任何操作,此时commit=原创 2017-08-30 15:13:59 · 2428 阅读 · 0 评论 -
为什么mysql默认的隔离级别是rr不是rc
先说结论:对于之前没有row格式的binlog的情况下,如果隔离级别是rc,有可能导致主从数据不一样。例子:隔离级别为rc,binlog格式为statementselect * from a;b---12345session 1:begin;delete from a where bsession 2:begi原创 2017-08-30 17:38:41 · 3406 阅读 · 0 评论 -
mysql将死锁信息记录到error log
由一个参数控制mysql> show variables like '%deadlock%';+----------------------------+-------+| Variable_name | Value |+----------------------------+-------+| innodb_print_all_deadlocks原创 2016-09-18 14:47:05 · 3983 阅读 · 0 评论 -
mysql的半同步复制的配置
半同步复制:5.5开始支持当Master上开启半同步复制的功能时,至少应该有一个Slave开启其功能。此时,一个线程在Master上提交事务将受到阻塞,直到得知一个已开启半同步复制功能的Slave已收到此事务的所有事件,或等待超时。环境:mysql5.6.301.检查是否支持动态载入插件:mmysql> show variables like 'have原创 2016-09-02 15:50:30 · 336 阅读 · 0 评论 -
mysql的flush语法
MySQL的FLUSH句法(清除或者重新加载内部缓存) FLUSH flush_option [,flush_option],如果你想要清除一些MySQL使用内部缓存,你应该使用FLUSH命令。为了执行FLUSH,你必须有reload权限。FLUSH HOSTS 清空主机缓存表。如果你的某些主机改变IP或如果你得到错误消息Host ... is blocked,你应原创 2016-09-02 14:21:30 · 582 阅读 · 0 评论 -
Error writing file '/tmp/MY0BkiqD' (Errcode: 28)
mysql中对一个大表进行group by操作的时候,报错:原创 2014-05-13 10:56:14 · 2999 阅读 · 0 评论 -
安装keepalive错误:configure: error: No SO_MARK declaration in headers
安装keepalive的时候,在configure的时候遇到的错误:[root@gw keepalived-1.2.16]# ./configure checking for gcc... gccchecking whether the C compiler works... yeschecking for C compiler default output file name原创 2016-06-13 10:32:01 · 1967 阅读 · 0 评论 -
XtraBackup详解
XtraBackup2 安装XtraBackup2.1 安装XtraBackup binary版本2.1.1 yum的安装方法:2.1.2 直接下载rpm包安装3 XtraBackup使用手册3.1 使用innobackupex脚本3.1.1 备份预备工作3.1.2 全备和全备还原3.1.2.1 使用innobackupex创建全备3.1.2.2 使用inn转载 2016-06-28 17:05:22 · 5317 阅读 · 0 评论 -
explain参数详解
mysql> explain select count(*) from user;+----+-------------+-------+------+---------------+------+---------+------+------+------------------------------+| id | select_type | table | type | possib原创 2016-06-28 17:10:05 · 1749 阅读 · 0 评论 -
安装keepalive错误:types.h:14: error: conflicting types for ‘fd_set’
还是在安装keepalive的时候,进行到make的时候报的错误:[root@mysql2 keepalived-1.2.16]# makemake -C lib || exit 1;make[1]: Entering directory `/home/keepalived-1.2.16/lib'gcc -g -O2 -DFALLBACK_LIBNL1 -I. -Wall -W原创 2016-06-13 10:52:23 · 3732 阅读 · 0 评论 -
奇怪的问题--load file导入数据后发现多了一个字符,三个字节
mysql上用load file导入了一个csv文件到一张表,导入后,查看,发现一行不正常,如下:+-----------------+-------------+------------------+| org | length(org) | char_length(org) |+-----------------+-------------+--------原创 2016-07-30 18:44:43 · 857 阅读 · 0 评论 -
MySQL+InnoDB semi-consitent read原理及实现分析
semi-consistent简介 1semi-consistent实现 2MySQL Server层 2InnoDB Engine层 2是否采用semi-consistent read 2Fetch Next特殊处理逻辑 3优化:Unlock unmatched row 4转载 2016-08-17 11:28:25 · 790 阅读 · 0 评论 -
mysql中创建带小数点的数据库名、表名、列名
mysql> create database gw.1;ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.1' at line 1原创 2016-08-08 10:19:48 · 9887 阅读 · 1 评论 -
mysql参数之:SQL_QUOTE_SHOW_CREATE
执行show create语句的时候,是否用·包含mysql> show variables like 'SQL_QUOTE_SHOW_CREATE';+-----------------------+-------+| Variable_name | Value |+-----------------------+-------+| sql_quote原创 2016-09-02 11:28:06 · 1156 阅读 · 0 评论 -
解析mysqldump的过程和文件
环境:mysql5.6.30数据库:gw1,gw2表:gw1.t1 myisam,gw2.t2 innodb执行的语句:mysqldump --single-transaction --master-data=2 --databases gw1 gw2 > 3306_20160902.sql通过general log查看的,mysqldu原创 2016-09-02 11:04:28 · 856 阅读 · 0 评论 -
ERROR 1449 (HY000)--Mysql查询视图报错
首先解释一下错误是如何产生的:(gw和gw1都是普通用户)1.用户gw在数据库gw创建一个视图:v_t12.用户gw1和root都可以访问数据库gw,查询v_t1没有问题3.如果删除用户gw,那么gw1和root在访问视图v_t1的时候都报错,但是报错不一样,分别如下:gw1(普通用户):mysql> select * from v_t1;ERROR 1045 (28000原创 2014-02-13 09:35:47 · 2899 阅读 · 0 评论