mysql

mycli一个基于命令行的mysql连接客户端

mycli

是一个基于命令行的mysql连接客户端

A command line client for MySQL that can do auto-completion and syntax highlighting.

Completion

这个工具是python下工具,安装方法可以通过pip安装。

» 阅读全文

关键词: mycli使用 , mysql

MySQL复制技术:异步复制延迟解决方案,多线程Mysql同步

mysql的复制之所以慢,主要是因为备库上的SQL线程是单线程顺序执行的。如果能够让其并行执行,那么就会快很多。

MySQL5.6增加了多线程(并行)复制以减少当前单线程复制的瓶颈,但是它是基于分库实现的,就是说一个线程只能对应该一个库。

还有就是自己实现一个SLAVE,模拟备库I/O线程,连接主库,读取二进制日志到本地,然后结合自己业务特点,表结构等,实现并行SQL更新,因为是针对自身业务,比如可以按表来分多线程,表里可以加上主键限制,保证事务的顺序执行。

» 阅读全文

关键词: mysql同步 , mysql

Mysql配置文件my.cnf参数详解,Mysql优化配置

1、配置参数

mysql有两种途径途径了解其的配置参数,一个是MySQL交互模式下的命令SHOW  VARIABLES,一个使用mysqladmin variables 查询。

MySQL的配置参数分为2种,全局的和局部的。局部的配置变量可以在每次会话中自己更改。

从MySQL 4.0以后开始,在SHOW VARIABLES中显示的参数,大部分可以动态使用SET命令进行更改。

基本参数配置:

» 阅读全文

关键词: mysql优化 , mysql

【MySQL】ERROR : (2006, 'MySQL server has gone away') 解决方法

mysql出现ERROR : (2006, 'MySQL server has gone away') 的问题意思就是指client和MySQL server之间的链接断开了。

造成这样的原因一般是sql操作的时间过长,或者是传送的数据太大(例如使用insert ... values的语句过长, 这种情况可以通过修改max_allowed_packed的配置参数来避免,也可以在程序中将数据分批插入)。

产生这个问题的原因有很多,总结下网上的分析:

原因一. MySQL 服务宕了

判断是否属于这个原因的方法很简单,进入mysql控制台,查看mysql的运行时长

» 阅读全文

关键词: mysql

【shell脚本】MySQL定时批量检查表repair和优化表optimize table

shell脚本mysql定时批量检查表repair和优化表optimize table

» 阅读全文

关键词: 优化表 , shell脚本 , mysql

MySQL大数据库表记录的删除及优化表操作心得分享

mysql大数据库表记录的删除及优化表操作心得分享

近几日对公司数据库一个近超过2千万级数据表进行删除优化处理, 发现对一个千万级数据表进行删除记录及进行optimize操作时,会极其的耗时间和空间。

删除数据库的时候要分批删除,譬如每次删除20~30万,不然一次500万删除性能一下子急剧下降,删除极其慢,甚至导致卡死,所以删除大表的时候要注意分表,可以shell 分批删数据。

删除记录时,MyISAM表会留下空洞碎片,碎片多了会持续降低MySQL性能。如果使用optimize操作的话,注意,MySQL会先生成一个TMD文件;完成操作后才会把这个文件删除。这个过程可能比较漫长......

优化1G 左右的Mysql碎片空间的,大约需要10分钟左右时间。

所以再设计表和存储记录时,就应当想好这个表的记录会不会有大量记录;如果是的话应该要先设计好应对方案,水平切分或垂直切分。

其实,也算不上什么经验吧,呵呵,算是一个心得。


关键词: 优化表 , mysql

MySQL 5.5.*默认innodb存储引擎导致占用虚拟内存过高的解决办法

穷啊,没钱啊,搞了一个VPS,搭建好了LNMP版本选择mysql5.5。

MySQL5.5默认存储引擎是innodb,所以一起动就占用了三百多的虚拟内存,我们一般用的存储引擎是MyISAM,需要禁用innodb,设置默认的引擎为MyISAM。

可恶的MySQL5.5,为毛默认存储引擎使用innodb。对于我们这样的小内存VPS本来就不做大用处,不需要InnoDB.

MySQL 5.5.*默认innodb存储引擎导致占用虚拟内存过高的解决办法:
在[mysqld]里面加入

default-storage-engine = MyISAM
innodb=OFF
skip-innodb

然后重启mysql服务,mysql果然降到了只有50M,这下就可以了.


关键词: 虚拟内存 , mysql

wordpress数据库优化之执行sql语句减少mysql数据量

清理数据库的残留无效数据,可以用以下的语句(语句来源于WP Clean Up插件源代码):


DELETE FROM wp_posts WHERE post_type = 'revision';
DELETE FROM wp_posts WHERE post_status = 'draft';
DELETE FROM wp_posts WHERE post_status = 'auto-draft';
DELETE FROM wp_comments WHERE comment_approved = '0';
DELETE FROM wp_comments WHERE comment_approved = 'spam';
DELETE FROM wp_comments WHERE comment_approved = 'trash';
DELETE pm FROM wp_postmeta pm LEFT JOIN wp_posts wp ON wp.ID = pm.post_id WHERE wp.ID IS NULL;
DELETE FROM wp_commentmeta WHERE comment_id NOT IN (SELECT comment_id FROM wp_comments);
DELETE FROM wp_term_relationships WHERE term_taxonomy_id=1 AND object_id NOT IN (SELECT id FROM wp_posts);
DELETE FROM wp_options WHERE option_name LIKE '_site_transient_browser_%' OR 
option_name LIKE '_site_transient_timeout_browser_%' OR option_name LIKE '_transient_feed_%' OR
 option_name LIKE '_transient_timeout_feed_%';

优化数据表,可以用以下的语句:

» 阅读全文

关键词: wordpress , sql语句 , mysql

Total: 18123Next ›