
MySQL
lwei_998
这个作者很懒,什么都没留下…
展开
-
Slave has more GTIDs than the master has, using the master‘s SERVER_UUID
机房掉电,con Last_IO_Errno: 1236 Last_IO_Error: Got fatal error 1236 from master when reading data from binary log: 'Slave has more GTIDs than the master has, using the master's SERVER_UUID. This may indicate that the end of the binary log was truncated o..原创 2021-06-21 14:06:07 · 3103 阅读 · 0 评论 -
MySQL 判断闰年
判断方式:根据二月份的最后一天是不是29天,判断是否是闰年。SELECTYEAR(CURRENT_DATE ()) AS YEAR,CASE WHEN DAY ( last_day( date_add( concat( YEAR ( CURRENT_DATE ()), '-01-01' ), INTERVAL 1 MONTH )))= 29 THEN '润年' ELSE '平年' END AS IS_LEAP...原创 2021-03-24 17:04:21 · 1749 阅读 · 1 评论 -
mysql 命令行中执行sql的几种方式
1.直接输入sql执行mysql> select now();+---------------------+| now() |+---------------------+| 2013-09-18 13:55:45 |+---------------------+1 row in set (0.00 sec) 2.执行编写好的sql脚原创 2013-09-18 14:15:32 · 61282 阅读 · 0 评论 -
1146 - Table 'xxx.xxx' doesn't exist
今天开始测试mysql的新版本,从生产mysql库中备份部分表到测试库中。测试中发现,有些表可以查询出数据,但不能update,报1146,表不存在。mysql> select version();+------------+| version() |+------------+| 5.6.12-log |+------------+1 row in setm原创 2013-08-09 10:01:59 · 15431 阅读 · 0 评论 -
ERROR 1396 (HY000): Operation RENAME USER failed for 'root'@'%'
为了避免mysql中的安全隐患,将默认的root用户重命名。使用 rename user 命令修改root用户名失败,提示错误:ERROR 1396 (HY000): Operation RENAME USER failed for 'root'@'%'改用update mysql用户下的user表后修改成功。 mysql> use mysql;Database cha原创 2013-07-27 15:52:07 · 21822 阅读 · 0 评论 -
mysqladmin不能修改普通用户密码
1. mysqladmin 修改root用户密码正常C:\Users\>mysqladmin -uroot -p password "123456"Enter password: ****2.mysqladmin 修改普通用户密码,提示需要super privilege权限C:\Users\>mysqladmin -utest -p password "123456" En原创 2013-04-11 13:17:27 · 2869 阅读 · 0 评论 -
View 变Table 优化MySql
随着系统用户数的不断增加,MySql数据库的CPU经常达到99%。业务部门投诉不断增加,严重影响了系统的正常运行,必须马上实施优化。 数据库:从MySql的show processlist来看,发现有些SQL执行的比较频繁。这些SQL的共同点是:1.都使用了distinct,count操作。2.都访问了一个共同的视图。3.这个视图中还嵌套着另外一个视图。4.原创 2012-06-25 18:01:59 · 1985 阅读 · 0 评论 -
InnoDB提高数据insert效率
如果local_infile 被禁用,InnoDB中怎么提高insert的效率呢?1.尽量保持数据有序。减少数据插入时对索引的维护成本。2.一次插入多条数据。减少日志,降低日志刷新磁盘的频率。减少sql解析次数。3.在事物中进行插入。减少事物创建的消耗。但也要控制事物的大小,最好不超过innodb_log_buffer_size。SET autocommit=0;INSER原创 2013-11-26 13:14:31 · 4627 阅读 · 0 评论 -
ERROR 1203 (42000): User ivr already has more than 'max_user_connections' active connections
接到通知说mysql的连接数不够用了,让看看什么原因。用root登录进去一看,当前的连接数远远没有达到max_connections 的连接限制。让同事把错误信息发给我:C:\Users\e1082>mysql -udev_ivr -pdev_ivr -h 192.168.1.150ERROR 1203 (42000): User dev_ivr already has more原创 2013-07-27 16:02:44 · 2992 阅读 · 0 评论 -
1396 - Operation CREATE USER failed
mysql重新创建用户时出现1396 - Operation CREATE USER failed;flush PRIVILEGES 刷新权限后,用户能正常创建。1. 查看当前用户mysql> select user();+----------------+| user() |+----------------+| root@localhost |原创 2013-04-10 20:07:16 · 17883 阅读 · 0 评论 -
Incorrect key file for table '/tmp/#sql_15cc_14.MYI'; try to repair it
Mysql中查看视图的时候遇到错误:'Incorrect key file for table '/tmp/#sql_15cc_14.MYI'; try to repair it' 在mysql的错误日志中可以看到类似的错误;130910 9:52:31 [ERROR] /mysql/mysql5.5.24/bin/mysqld: Incorrect key file for t原创 2013-09-10 15:39:04 · 18622 阅读 · 0 评论 -
ERROR 1290 (HY000)
mysql忘记了root密码,使用skip-grant-tables方式启动后,用set password的方式修改root密码时遇到错误ERROR 1290 (HY000)1.以skip-grant-tables方式启动mysqlC:\Users\>mysqld --skip-grant-tables130411 10:09:30 [Warning] '--default-c原创 2013-04-11 13:14:13 · 16368 阅读 · 0 评论 -
MySql 字符串类型与字符串长度统计函数
mysql中 char(n) ,varchar(n) 中n表示字符串的最大长度(最大字符数,不是字节数)。一个汉字占三个字节,一个字母或数字只占一个字节。如一个vhachar(6)的字段最多可以插入6个汉字,或6个字母,或6个数字。如果是汉字,那么他的长度是6×3=18 个字节 如果是字母或数字,那么他的长度是6×1=6个字节 mysql> desc t;+-------+原创 2012-06-11 13:58:51 · 25829 阅读 · 0 评论 -
如何发现mysql权限、表结构的变化
MySQL中如果打开了二进制日志,就可以找到在相应时间段内mysql权限或表结构的改变。mysql> show variables like 'log_bin_basename';+------------------+-------------------------------------------------+| Variable_name | Value原创 2014-01-13 21:31:29 · 1785 阅读 · 0 评论 -
Ignoring query to other database
Linux命令行成功登录mysql,执行命令报 Ignoring query to other database。[mysql@bjdev01 ~]$ mysql -Uroot -pEnter password: mysql> select now();Ignoring query to other databasemysql> exitBye 退出后重新登录,正常原创 2014-01-27 11:10:01 · 1924 阅读 · 0 评论 -
mysql中safe-updates的限制
mysql中safe-updates模式可以限制不加条件对表的更新或删除,这样对数据安全有一定的好处,可以有效的防止误操作,但更新删除也有一定的限制。测试结果如下:[mysql@bjdev01 ~]$ mysql -uroot -p -UEnter password: a)safe-updates模式下,不加条件对表update,报错ERROR 1175原创 2014-01-28 11:27:19 · 6206 阅读 · 0 评论 -
mysqldump默认参数add-drop-table
接到一个同事电话,说UAT环境上的一张表被删了,要恢复一下。原来是新项目UAT,从测试库用mysqldump导出表结构在UAT上执行。由于只是新增几个表结构,相关的人员也就没去审核。由开发同事自己去执行升级表结构的脚本,刚执行完就发现业务出问题了。查看后发现UAT库上丢了一张表。 检查表结构变更的脚本,发现脚本中有一个删除表的命令。原来测试库有一张表与UAT库中的表重名。本来这个表是不应该原创 2014-01-28 11:35:18 · 15754 阅读 · 0 评论 -
mysqldump恢复指定表
如果mysql服务器上不能随意安装软件,当需要从全备份中恢复单个表,怎么办?1.mysqldump备份指定数据库,如ivr[mysql@bjmysql01]$ mysqldump -utelivr -p123456 -F -R --events --databases ivr |gzip >ivr_$(date +%F).sql.gz2. 确认备份文件已经生成[mysql原创 2014-01-29 10:35:35 · 8645 阅读 · 1 评论 -
Linux系统中 mysql server 之间拷贝用户权限
目的:将本机mysql的用户权限拷贝到IP 为192.168.0.*** 端口为3316的mysql中 步骤: 构造出show grants 命令 执行show grants 命令生产授权语句 给grant 语句加上分号将授权语句传递给目标mysql,并执行示例:mysql -uroot -ptest1 -h 127.0.0.1 -N -e "SELECT CONCA原创 2014-01-21 14:47:33 · 1488 阅读 · 0 评论 -
mysqlbinlog 恢复指定表
一、登录数据库刷新binlog1.1)查看当前的binlogmysql> show master status;+---------------------+----------+--------------+------------------+-------------------+| File | Position | Binlog_Do_DB原创 2014-02-05 19:08:59 · 19945 阅读 · 0 评论 -
ERROR 2049 (HY000): Connection using old
MySQL 5.6 客户端访问 MySQL4.0.20 遇到ERROR 2049 (HY000): Connection using old原创 2014-08-11 17:35:41 · 2452 阅读 · 1 评论 -
mysqldump 备份多个表
同事要把生产环境上的一部分表加载到测试环境去,每次导出的表可能不一样。为了省去每次写脚本的麻烦,方便多个表的导出,特写如下脚本。在第一层for循环里,传入导出的数据库。select db from mysql.db where db in ('cacti') 在第二层for循环里,传入导出的表名。SELECT table_name from information_sche原创 2014-01-24 22:37:51 · 4236 阅读 · 0 评论 -
Mysql4.0.20中文乱码
同事反馈一现象:1. 短信发送功能中,通过程序发送的中文短信乱码。2. 直接向表中插入数据,触发的短信,中文显示正常。本想看一下通过程序插入到mysql中的数据是什么内容,由于权限限制,只有insert权限,没有select权限。能看到的信息如下:mysql> select version();+-----------------+| version()原创 2014-08-04 20:34:15 · 1147 阅读 · 0 评论 -
php连不上mysql
同事反馈一现象:本地开发环境php连不上数据库,错误信息如下:( ! ) Warning: PDO::__construct(): Connecting to 3.22, 3.23 & 4.0 is not supported. Server is 4.0.20-standard in D:\wamp\www\test_script\to.php on line 27但通过my原创 2014-08-04 20:32:42 · 2427 阅读 · 2 评论 -
innobackupex: Error: Failed to connect to MySQL server as DBD
新环境上测试percona-xtrabackup-2.2.5-Linux-x86_64新版本,出现以下几个问题.1. 没安装perl-DBD-MySQL$innobackupex --defaults-file=/db/mysql5.6/my.cnf -user=bkpuser -password=s3cret -socket=/db/mysql5.6/mysql.sock /hom原创 2014-10-22 17:43:56 · 11432 阅读 · 0 评论 -
xtrabackup 恢复单个表
原理和mysql的transport tablespace基本相同。一、安装与备份1. 下载安装XtraBackup$wget http://www.percona.com/redir/downloads/XtraBackup/LATEST/binary/tarball/percona-xtrabackup-2.2.5-5027-Linux-x86_64.tar.gz$ta原创 2014-10-23 11:39:35 · 5343 阅读 · 0 评论 -
Mysql中float列的等值查询
mysql中float类型不定义精度时,对float列的检索可能不正确。 1.创建表t3,col1_float定义为float类型不指定精度。mysql> CREATE TABLE `t3` ( `col1_float` float DEFAULT NULL, `col2_double` double DEFAULT NULL, `col3_decimal` deci原创 2014-11-10 13:04:11 · 8862 阅读 · 0 评论 -
MySQL中float类型字段的显示问题
由于受到版本和平台的限制,同样的SQL在不同的平台上执行的结果可能会不一致。影响:1. mysql在升级或迁移时可能会导致float类型的数据发生变化。2. mysqldump创建的备份在slave上进行恢复,可能会遇到float类型的数据在master和slave上显示不一致。参考:http://dev.mysql.com/doc/refman/5.6/en/problems-w原创 2014-11-10 13:37:08 · 4120 阅读 · 0 评论 -
No such file or directory -- MYSQL 二进制版本启动失败
$tar xf mysql-advanced-5.6.21-linux-glibc2.5-x86_64.tar.gz -C /db/使用二进制版的mysql-advanced-5.6.21-linux-glibc2.5-x86_64.tar.gz安装后,修改了--log-error的路径,用mysqld_safe启动一直报错。必须到安装目录下启动才行。1.查看mysqld_safe的路原创 2014-10-24 17:50:17 · 33343 阅读 · 2 评论 -
RSA private key file not found
mysql5.6二进制版本启动后,errorlog中出现如下错误:[Note] RSA private key file not found: /db/mysql5.6/data//private_key.pem. Some authentication plugins will not work.[Note] RSA public key file not found: /db/mysq原创 2014-10-26 13:24:32 · 18844 阅读 · 0 评论 -
用Percona XtraBackup 搭建 Mysql replication slave
用Percona XtraBackup 搭建 Mysql replication slave优点:1. 可以简单方便的进行热备份,不用停机。2. 开源免费。Percona XtraBackup is a tool for backing up your data extremely easy and without interruption. It performs“hot原创 2014-11-12 20:55:16 · 874 阅读 · 0 评论 -
[ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
用Percona XtraBackup的备份在slave上进行恢复的时候遇到下述错误:Master 版本:5.6.17Slave 版本:5.6.21-enterprise-commercial-advanced-log mysqld_safe mysqld from pid file /data/UAT-mysql02.pid endedmysqld_safe Starting原创 2014-11-12 17:48:49 · 63055 阅读 · 4 评论 -
innobackupex: Error: Original data directory '.' is not empty
innobackupex恢复时遇到三个错误:错误信息:1. innobackupex: Error: Original data directory '.' is not empty! at /usr/bin/innobackupex line 21622. innobackupex: Error: Original data directory '/db/mysql5.6/data'原创 2014-10-27 17:04:56 · 7475 阅读 · 0 评论 -
Operating system error number 13 in a file operation
innobackupex 备份时遇到下述错误:InnoDB: Operating system error number 13 in a file operation.InnoDB: The error means mysqld does not have the access rights toInnoDB: the directory.InnoDB: os_file_readd原创 2014-11-13 20:49:33 · 10661 阅读 · 0 评论 -
innobackupex 基于时间点的恢复
innobackupex Point-In-Time recovery利用innobackupex结合全备和全备以后的binlog可以把mysql恢复到指定的时间点。1.innobackupex全备$innobackupex --defaults-file=/mysqlweb/mysql5.6/my.cnf -user=bkpuser -password=s3cret /原创 2014-10-28 15:51:37 · 1630 阅读 · 0 评论 -
innobackupex存储备份历史
innobackupex可以将备份信息存储在mysql的percona_schema的xtrabackup_history表中。这样就更方便我们查询备份的情况了。 实验环境:mysql> system innobackupex --versionInnoDB Backup Utility v1.5.1-xtrabackup; Copyright 2003, 2009 Innob原创 2014-10-28 17:23:37 · 775 阅读 · 0 评论 -
Operating system error number 2 in a file operation
innobackupex 备份时遇到下述错误:innobackupex --defaults-file=/data/dbbak/my.cnf --stream=tar ./ |gzip -> /data/dbbak/`date +%F`_full.tar.gz 2> backupout_`date +%F`.logxtrabackup version 2.2.5 based on My原创 2014-11-13 20:43:24 · 24604 阅读 · 2 评论 -
com.mysql.jdbc.MysqlDataTruncation: Data truncation: Incorrect datetime value
记录由WMySql5.0.45 升级为5.6.17时遇到的问题。数据库升级后,能正常查询。在插入datetime类型的字段报如下错误:Caused by: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Incorrect datetime value: '' for column 'crtTime' at row 1at co原创 2014-10-30 20:20:31 · 22245 阅读 · 6 评论 -
1292 - Incorrect datetime value: '' for column Mysql5.6 中datetime 类型字段的插入问题
mysql> select database(), version();+------------+-------------------------+| database() | version() |+------------+-------------------------+| test | 5.0.45-community-nt-l原创 2014-10-30 20:36:20 · 60534 阅读 · 6 评论 -
Slave failed to initialize relay log info structure from the repository, Error_code: 1872
在一台主机上增加一个slave,启动的时候报[ERROR] Slave SQL: Slave failed to initialize relay log info structure from the repository, Error_code: 1872原因:检查my.cnf,原来没指定relay_log,mysql默认产生的relay_log名 被另一个mysql slave占用了原创 2014-11-17 16:01:10 · 36003 阅读 · 0 评论