
mysql
laiyijian
这个作者很懒,什么都没留下…
展开
-
mysql一条语句解决没有插入有的话就更新
我们在日常开发中经常遇到一条记录如果没有就插入如果有的话就更新,其实MySQL一条语句就可以搞定,这个平时用的时候老忘,今天把它记录下比如表test 有id,title字段,id是主键,insert into `test` (id,title) values (3,'test3') on duplicate key update title=values(title)如果id等于3这条记录不存在的话就插入,有的话就把id等于3的这条记录的title给更新了,这个更新是以主键为准的,如果既有主原创 2022-01-20 23:13:17 · 2137 阅读 · 0 评论 -
查看mysql表的数据大小和索引大小
查看mysql表的数据大小和索引大小select data_length,index_length from information_schema.tables where table_schema='tpcc100' and table_name = 'district';table_schema:数据库名称table_nam原创 2017-04-27 18:42:20 · 1200 阅读 · 0 评论 -
安装percona-toolkit工具
环境:centos6.5下载地址:https://www.percona.com/downloads/percona-toolkit/cd /optwget https://www.percona.com/downloads/percona-toolkit/3.0.2/binary/tarball/percona-toolkit-3.0.2_x86_64.tar.gztar原创 2017-05-10 14:51:41 · 2515 阅读 · 0 评论 -
将两个表名互换
官方文档的说法是锁住两个表,不准写lock tables t1 write,t2 write;alter table t1 rename to t3;alter table t2 rename to t1;alter table t3 rename to t2;unlock tables;翻译 2017-05-31 11:38:25 · 661 阅读 · 0 评论 -
mysql5.7初始化后连接mysql的时候报:Your password has expired.
mysql5.7初始化后连接mysql的时候报:ERROR 1862 (HY000): Your password has expired. To log in you must chang意思很明确密码过期了,但是奇怪的,我其他两个实例都没这个问题,挺诡异。。。现在直接说怎么解决初始化的时候带上:skip-grant-tablesmysqld --defaults-fil原创 2017-12-02 01:26:04 · 4153 阅读 · 0 评论 -
mysql报错:ERROR: Error in Log_event::read_log_event():"Sanity check
执行:mysqlbin -v --base64-output=decode-rows mysql-bin.000002 > 1.log 报:ERROR: Error in Log_event::read_log_event():"Sanity check查找mysqlbinlog命令find / -name mysqlbinlogwhich mysqlbinlog原创 2017-11-25 21:53:08 · 1129 阅读 · 0 评论 -
mysql官方参数地址(针对英文不好的同学)
对于英文不好的同学可能在mysql官网文档在哪都找不到,后边会陆续更新官方文档的地址分区管理: https://dev.mysql.com/doc/refman/5.5/en/alter-table-partition-operations.html原创 2017-11-19 00:56:20 · 385 阅读 · 0 评论 -
mysqldump常用语句
此篇博客会陆续更新1:导出某个库下边的某个表 mysqldump -uerer -peww --databases test --tables test > /tmp/1.sql2:导出csv格式 mysqldump -uroot -pKay2013yyk- --databases test --tables test -t --tab /tmp/ --fields-enclo...原创 2018-02-26 14:50:23 · 338 阅读 · 0 评论 -
mysql常用语句
1:查看创建存储过程语句 SHOW CREATE PROCEDURE pb(存储过程名称);后边会持续更新原创 2018-02-26 15:43:13 · 153 阅读 · 0 评论 -
error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or
MySQL5.7在初始化的时候报下边这个错误 error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory这是因为libnuma.so在centos6.5环境下默认安装的32位的,我的mysql5.7是64位的,所以需要安装个64位的安装也很...原创 2018-05-11 15:08:38 · 3718 阅读 · 2 评论 -
mysql5.7在线/online DDL文档地址:
https://dev.mysql.com/doc/refman/5.7/en/innodb-create-index-overview.html原创 2018-05-22 11:42:16 · 1215 阅读 · 0 评论 -
PHPstudy里mysql5.5升级到mysql5.7
我原先phpstudy的mysql版本是mysql5.5的,后边为了使用mysql5.7的新特性,就需要把phpstudy默认的MySQL升级到MySQL5.7我下载的版本是:mysql-5.7.22-winx64.zip1:把原来MySQL备份为MySQL_bak2:把mysql-5.7.22-winx64.zip解压到D:\soft\phpstudy\PHPTutorial并改名为MySQL3...原创 2018-06-13 14:06:50 · 2102 阅读 · 2 评论 -
mysql嵌套事务的坑
表结构:CREATE TABLE `t1` ( `id` int(11) NOT NULL AUTO_INCREMENT, `c1` int(11) NOT NULL, `c2` int(11) NOT NULL, `c3` int(11) NOT NULL, PRIMARY KEY (`id`), KEY `c1` (`c1`)) ENGINE=InnoDB AUTO_INCREME...原创 2018-06-30 18:36:40 · 3316 阅读 · 1 评论 -
centos6.5+php7编译安装pdo_mysql.so
1:进入php7原始安装目录的扩展目录或者直接进入:/data/soft/php-7.2.5/ext/pdo_mysql cd /data/soft/php-7.2.5/ext cd pdo_mysql2:在/data/soft/php-7.2.5/ext/pdo_mysql目录里生成configure 执行: /usr/local/php7/bin/phpize (/usr...原创 2018-11-10 20:44:47 · 729 阅读 · 0 评论 -
mysql参数max_binlog_cache_size
mysql参数max_binlog_cache_sizemax_binlog_cache_size 表示的是binlog 能够使用的最大cache 内存大小可以通过set global max_binlog_cache_size=1048576(字节) 或者直接改配置文件,默认是1M通过show global status like 'bin%';查看binlog_cache_size原创 2017-04-27 18:27:06 · 21077 阅读 · 0 评论 -
centos6.5环境下sysbench编译安装
在线安装请看这篇:http://blog.youkuaiyun.com/laiyijian/article/details/71425213今天继续昨天sysbench编辑失败的尝试,终于在同学们的提示下搞定了sysbench的编译安装1:下载sysbench: http://imysql.com/wp-content/uploads/2014/09/sysbench-0.4.12-1.1.t原创 2017-05-09 17:14:46 · 2804 阅读 · 0 评论 -
安装python-mysql出现的问题以及解决方法
背景,今天在centos6.5上想用python连接mysql,,所以很自然的就想到了MySQL-python,在安装过程中遇到了一些问题,为了以后自己查看和避免别人也遇到这样问题,所以把它记录下来 1:如果英文好的话可以读下MySQLdb 模块的README 文档,这里边说MySQLdb这个东东有好多依赖关系,比如这个吊玩意:mysql-deve 好了下边我们来说下原创 2017-01-14 21:03:19 · 1154 阅读 · 0 评论 -
keepalived+mysql双主切换1
1:keepalived安装: 环境:centos6.5 两种方式安装keepalived (1):http://keepalived.org/ 官网下载:然后编译安装 (2):yum install keepalived 192.168.1.16(从),192.168.1.11(主),两台服务器上都要安装Keepalived2:配置keepa原创 2017-03-26 12:30:58 · 470 阅读 · 0 评论 -
把mysql的一些状态输出到文件里显示
有些状态在 mysql里边不好看,比如show engine innodb status\G在mysql里就很难看,找信息也不好找,所以最好输出到外部文件里,比如txt文件,不废话了直接上代码 mysql -S /tmo/mysql3306.sovk -uroot -p --execute="show engine innodb status\G" > /tmp/t.txt;原创 2017-04-17 23:00:02 · 920 阅读 · 0 评论 -
查看mysql或者其他进程是否被OOM了
在实际工作进程会遇到进程被OOM了,那怎么知道被OOM呢,用下边的语句就可以看到egrep -i "oom|kill|mysql" /var/log/系统日志文件原创 2017-04-18 15:11:23 · 524 阅读 · 0 评论 -
查看mysql是什么对象导致被OOM了
有次遇到我的mysql被OOM了,后来翻看mysql系统表的文档才知道怎么看是哪个mysql对象占用的内存比较多,我的版本是5.7.17下边两个语句都可以查看是哪个对象消耗的内存比较多 1:select event_name,current_alloc from sys.memory_global_by_current_bytes limit 5 2:select even原创 2017-04-18 15:59:46 · 1802 阅读 · 0 评论 -
mysql按周统计数据
主要就是使用DATE_FORMAT这个方法SELECT DATE_FORMAT( createtime, '%Y-%u' ) weeks, count( * ) countFROM userGROUP BY weeksORDER BY weeks DESC%U 周 (00-53) 星期日是一周的第一天%u 周 (00-53) 星期一是一周的第一天原创 2017-04-14 15:43:20 · 1212 阅读 · 0 评论 -
使用show profiles分析查询语句性能
使用show profiles可以看到查询语句的详细执行时间,使用步骤:1:set profiling=1;2:select...(select语句)3:show profiles; 4:show profile for quwey N;//N是第三步里边的Query_ID一目了然就能看到哪一步画的时间比较多,就这简单原创 2017-04-16 17:46:39 · 989 阅读 · 0 评论 -
mysql压力测试工具tpcc-mysql安装测试使用
今天准备给mysql做个压力测试,所以就相装个tcpp-mysql压一把看看,尼玛网上一搜基本都是一个模子里出来的,下载tcpp-mysql全是一个网站(不是官网),而且还是14年的,下边我是从官网下载的tcpp-mysql项目地址在这里:https://code.launchpad.net/~percona-dev/perconatools/tpcc-mysql现在tcpp-mysql代原创 2017-04-21 17:17:20 · 6173 阅读 · 0 评论 -
mysql的Query Cache相关参数
Query Cache相关参数: query_cache_size QC占用空间大小,通过将其设置为0关闭QC功能 query_cache_type 0表示关闭QC;1表示正常缓存;2表示SQL_CACHE才缓存 query_cache_limit 最大缓存结果集 query_cache_min_res_unit 手册上说,QC会按照这个值分配缓存blo原创 2017-05-03 16:08:51 · 358 阅读 · 0 评论 -
sysbench安装以及使用
sysbench安装过程中如果执行./autogen.sh出现libtoolize 1.4+ wasn't found, exiting则需要安装libtoolyum install libtool未完待续原创 2017-05-03 17:43:52 · 1560 阅读 · 0 评论 -
mysql一条sql实现没有数据就插入数据有数据则更新数据
mysql一条sql实现没有数据就插入数据有数据则更新数据,比如uid为用户id,设为主键,cnt为访问次数insertinto cnt(uid,cnt)values(1,1)on duplicate key update cnt=cnt+1如果uid不存在则插入,存在则更新有时候更新的数据不一定是insertinto member(uid,cnt)原创 2017-05-24 15:43:25 · 5113 阅读 · 0 评论 -
centos6.5环境下sysbench
今天在centos6.5下编译安装sysybench,被各种包搞得蛋都快碎了,一会儿缺这个包,一会儿缺另一个包,后来试了下yum install sysbench,惊喜呀,尽然可以安装,原创 2017-05-08 17:12:37 · 839 阅读 · 0 评论 -
percona-toolkit工具之pt-table-checksum使用
cd /opt/percona-toolkit编译目录/binpt-table-checksum --nocheck-replication-filters --replicate=test.checksums --databases=test --tables=t1 --recursion-method=processlist --no-check-binlog-format h=loca原创 2017-05-17 17:50:19 · 359 阅读 · 0 评论 -
centos6.5环境下安装xtrabackup报错Requires:libev.so
环境: centos6.5mysql5.7percona-xtrabackup-24-2.4.4-1.el6.x86_64.rpm5.7最好安装xtrabackup2.4下载xtrabackupwget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.4/binary/redhat/6/原创 2017-03-05 01:31:51 · 873 阅读 · 0 评论