• MySQL 大表优化方案(长文)

    当MySQL单表记录数过大时,增删改查性能都会急剧下降,可以参考以下步骤来优化:单表优化除非单表数据未来会一直不断上涨,否则不要一开始就考虑拆分,拆分会带来逻辑、部署、运维的各种复杂度,一般以整型值为主的表在千万级以下,字符串为主的表在五百万以下是没有太大问题的。而事实上很多时候MySQL单表的性能依然有不少优化空间,甚至能正常支撑千万级以上的数据量:字段1、尽量使用TINYINT、SMALLIN
  • 树莓派3 之 安装Mysql服务

    需求在树莓派上安装Mysql服务,并开启远程访问步骤安装mysqlserver$sudoapt-getinstallmysql-server我以为中间会让我提示输入数据库root的密码,没想到一帆风顺,直接完成,我要疯了,密码到底是什么了。通过搜索发现,可以使用如下命令,空密码登录$sudomysql-uroot设置root密码usemysql;updateusersetplugin='m
  • 【Mysql数据库访问利器】phpMyadmin

    缘由我们程序员难免要和数据库打交道,经过这几年的锻炼,感觉手写SQL语句已经忘记的差不错了,促使我一定要这篇文章的原因是,有一次晚上我更新某个系统的数据库的表(由于目前公司比较严格,数据库都只能通过命令行访问,无法通过GUI工具操作),然后由于where条件写错了,然后数据更新错了不少。痛定思痛:用好的工具来避免这种情况,那就是phpMyadminphpMyadminphpMyAdmin是一个以P
  • 【数据库】Invalid default value for 'create_date' timestamp field

    问题最近遇到一个这样的问题,新建数据库表的时候提示错误如下Invaliddefaultvaluefor'created_time'timestampfield语句如下`created_time`timestampNOTNULLDEFAULT'0000-00-0000:00:00'COMMENT'插入时间'错误大致的意思就是不能为timestamp字段
  • MySQL:动态开启慢查询日志(Slow Query Log)

    前言在开发中,高效能的程序也包括高效能的查询,所以优化SQL也是程序员必要技能之一。要优化就必须要有慢日志记录才可以知道哪些查询慢,然后反向去修改慢日志设置方式写入文件写入数据库实践操作方式一:写入文件编辑my.conf中修改log_slow_queries的日志地址$cd/etc/mysql$catmy.cnf|grepslowlog_slow_queries=/data/logs/mysql/
  • Ubuntu apparmor何方神圣

    AppArmor是一款与SeLinux类似的安全框架/工具,其主要作用是控制应用程序的各种权限,例如对某个目录/文件的读/写,对网络端口的打开/读/写等等。来之Novell网站的引用:AppArmorisdesignedtoprovideeasy-to-useapplicationsecurityforbothserversandworkstations.NovellAppArmorisanacc
  • 高性能MySQL

    《高性能mysql(第3版)》是mysql领域的经典之作,拥有广泛的影响力。第3版更新了大量的内容,不但涵盖了最新mysql5.5版本的新特性,也讲述了关于固态盘、高可扩展性设计和云计算环境下的数据库相关的新内容,原有的基准测试和性能优化部分也做了大量的扩展和补充。全书共分为16章和6个附录,内容涵盖mysql架构和历史,基准测试和性能剖析,数据库软硬件性能优化,复制、备份和恢复,高可用与高可扩展
  • In MySQL, a zero number equals any string

    最近在做项目的过程中发现了一个问题数据库表test有个字段是target_idint(11),这个字段可能为零使用如下查询select*fromtestwheretarget_id='';select*fromtestwheretarget_id='abcd';这样,所有target_id=0的结果都会出来,为什么?查阅资料,这是类型转化导致的,在mysql中0意味着任何字符串其实不是mysql特
  • MYSQL 命令行显示乱码 解决方案

    中文乱码是因为编码集不支持,所以要改变编码先查看下设置的编码使用如下命令showvariableslike'character%';在mysql.conf(Ubuntumysql5.5)中的[client]区域加上default-character-set=utf8在[mysqld]区域加上character_set_server=utf8重启服务
  • apparmor 引起自定义mysql 日志问题

    今天手贱,看到mysql的日志在/var/log/mysql下面。总是觉得别扭,于是就想改变日志的位置,本人开发环境vagrant+ubuntu12.04,在/etc/mysql/mysql中修改了general_log的位置,放在/data/logs/mysql下面然后重启服务,servicemysqlrestart查看错误日志发现说/usr/sbin/mysqld:File'/data
  • Mysql 常用命令集

    1.mysqlbinlog工具使用方法如下:先使用showbinarylogs查看在使用导出命令mysqlbinlog-R-uroot-pxxxx-hxxx.xxx.xxx.xxx-ddb_name--base64-output=decode-rows--start-datetime='2015-08-1313:11:21'--stop-datetime="2015-08