MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于 Oracle旗下产品。MySQL是*流行的关系型数据库管理系统之一,在 WEB应用方面,MySQL是*好的 RDBMS(Relational Database Management System,关系数据库管理系统)应用软件。“总是在灾难发生后,才想起容灾的重要*。总是在吃过亏后,才记得曾经有人提醒过。”,所以此处列出一些MySQL的必要的优化和建议。
1.核心类
♦不在数据库做计算,cpu计算务必移至业务层;
♦控制单表数据量,单表记录控制在千万级;
♦控制列数量,字段数控制在20以内;
♦平衡范式与冗余,为提**率可以牺牲范式设计,冗余数据;
♦拒绝3B(big),大sql,大事务,大批量;
2.字段类
♦用好数值类型
tinyint(1Byte)
smallint(2Byte)
mediumint(3Byte)
int(4Byte)
bigint(8Byte)
bad case:int(1)/int(11)
♦有些字符转化为数字
例如:用int而不是char(15)存储ip
♦优先使用enum或set
例如:sex enum(‘F’,‘M’)
♦避免使用NULL字段
NULL字段很难查询优化
NULL字段的索引需要额外空间
NULL字段的复合索引无效
bad case:
name char(32) default null
age int not null
good case:
age int not null default 0
♦不在数据库里存图片
3.索引类
♦谨慎合理使用索引
改善查询、减慢更新
索引一定不是越多越好(能不加就不加,要加的一定得加)
覆盖记录条数过多不适合建索引,例如“*别”
♦字符字段必须建前缀索引
♦不在索引做列运算
bad case:
select id where age+1= 10;
♦ innodb主键合理使用自增列
主键建立聚簇索引
主键不应该被修改
字符串不应该做主键
如果不指定主键,innodb会使用**且非空值索引代替
♦不用外键,请由程序保证约束
4. sql类
♦ sql语句尽可能简单
一条sql只能在一个cpu运算
大语句拆小语句,减少锁时间
一条大sql可以堵死整个库
♦简单的事务
事务时间尽可能短
bad case:
上传图片事务
♦避免使用触发器,用户自定义函数,请由程序取而代之
♦不用select*
消耗cpu,io,内存,带宽
这种程序不具有扩展*
♦ OR改写为IN()
♦ OR改写为UNION
PS:**的mysql内核已经进行了相关优化
♦ limit**分页
limit越大,效率越低
select id from t limit 10000, 10;
应该改为=>
select id from t where id> 10000 limit 10;
♦使用union all替代union,union有去重开销
♦尽量不用连接join
♦务必请使用“同类型”进行比较,否则可能全表扫面
♦打散批量更新
♦使用新能分析工具
show profile;
mysqlsla;
mysqldumpslow;
explain;
show slow log;
show processlist;
show query_response_time(percona)
TAG:WordPress
Dropbox在国内已被墙,**次注册和安装Dropbox客户端时需要翻(—敏感词过滤分割线—)墙,下载客户端之后不使用代理也可以正常接收同步备份文件
使用wordpress备份插件不仅可以备份wordpress数据库,还可以备份图片、主题模板等文件。同时wordpress备份插件可以定时将数据作为附件自动备份到自己的email邮箱,或者进入后台直接手工下载到本地电脑。但是如何自动将wordpress数据库文件自定备份到本地电脑呢?毕竟下载到本地电脑会让人比较放心。直接使用可以发送wp*客数据库备份到你的Dropbox帐户的Wordpress插件,或者wp插件再结合使用Dropbox即可实现这种功能,*后通过Dropbox自动同步备份文件到你的本地电脑。
WordPress备份插件
首先介绍几款相关的Wordpress备份插件:
wp-db-backup备份插件:wp-db-backup备份插件是wordpress**网站上*热门的数据库备份插件,使用起来也非常简单,下载安装该插件并启用后跳转到Dashboard-》Tool-》Backup设置数据库表的备份选项即可,可选:
1、备份文件到服务器
2、下载到本地电脑
3、Email备份到邮箱
还可以选择自动定时备份到你指定的email邮箱,设置每小时、每天、每两天、每周定时备份*客数据库均可。wp-db-backup会在wp-content目录下新建一个以backup开头的随机名称作为备份文件保存的目录,随机数字名称在一定程度上使备份文件更加安全。
另外一个类似的wordpress*客备份插件是wp-dbmanager,wp-dbmanager备份插件也是一个相当热门的wordpress插件,不仅可以自动定时备份,还可以直接在wordpress后台导入数据库备份文件、数据库修复、优化、恢复、删除、清空等数据库操作。
不过上面两个wordpress备份插件定时备份只能发送数据库备份文件到email邮箱,不能直接发送到你的dropbox账户。所以这里再介绍一个插件wp-time-machine,wp-time-machine备份插件其实也是一个非常不错的插件,安装并启用该插件后,不仅可以备份数据库文件、还可以备份uploads目录上传的图片等所有wp-content中的文件(如wordpress主题)、.htaccess文件、数据库恢复说明。*关键的是它可以将这些备份文件发送到你的远程账户,包括Dropbox、Amazon’s AWS S3、远程FTP服务器。但是wp-time-machine有一个致命的缺点是,只要你的wordpress*客启用了这个插件,任何访客访问这个地址:
都会在wp-content目录下生成那些备份文件,而且默认的备份文件名称都是一样的,比如wpTimeMachine-data-files.sql,因此任何人都可以通过浏览器在这个地址下载到你的数据库备份文件。wp-time-machine备份插件作者提示将上面生成网址中的generate=1改为clear=1,使用curl url自动定时执行备份计划任务时,就不会在wp-content目录下生成备份文件。许多介绍该插件使用方法的中文文章也只提示在wordpress后台点击了该插件的备份操作之后,要记得删除这些备份文件,但是却都没有提示这个地址会被任何人访问到。因此为了你的wordpress*客安全,强烈建议不要使用该插件,也许哪一天插件作者更新了这个安全漏洞之后,可以考虑启用这个插件。
如何将wordpress备份文件发送到dropbox
既然wp-time-machine不能用,那么如何将wordpress*客备份文件发送到dropbox呢?当然还是有办法的,比如利用wp-db-backup备份插件,我们只要将插件自动定时发送到邮箱的email附件上传到dropbox帐户就可以了。Send to Dropbox程序就是一款这样的非常好的dropbox ***应用程序。
登陆Dropbox帐户后访问,允许send to dropbox访问dropbox帐户,通过后在dropbox帐户my ***中会多出一个send to dropbox。同时sendtodropbox****会给你提供一个***@sendtodropbox****的email邮箱地址。这个***通过这个**的email ID发送附件。
The ***‘Send To Dropbox’ would like to connect with your Dropbox.
• Please make sure you trust this *** before proceeding.
• You can always remove this *** by visiting the Apps page.
• You‘re currently logged in as****@gmail****. If you meant to connect。
TAG:WordPress
如果自动接收wordpress数据库备份文件的是Gmail邮箱,在Gmail邮箱中就可以在过滤器中将所有带有附件的邮件转发到以上这个地址。Gmail自动转发需要验证因此还要进行一些操作dropbox才能顺利收到作为email附件的备份插件。下面是几个操作步骤:
1.创建Gmail过滤器:进入接收数据库备份文件的Google gmail邮箱,创建一个接收邮件过滤器filter:点击右上方的settings-》-filters》create filters-》输入过滤条件:
2.添加转发地址:
3.验证转发地址,将*开始sendtodropbox****给的email地址加入验证。
4.点击下一步,一般几分钟之内,你的Dropbox帐户就会收到一个包含gmail发送的转发email地址验证码的txt文件了。需要注意的是在点击下一步,
必须在send to dropbox设置中勾选include html copy或include text copy选项,否则是收不到验证码txt文档的。
另外一个需要注意的是在gmail常规设置镇南关,需要Gmail界面语言改为English,否则收到的只是乱码字符的txt文件(以上中文界面图片只作参考)。
5.在Gmail中输入txt文档中的验证码。
6.在过滤器中添加转发email地址。
7.点击“create filter”。
WordPress后台设置转发到Dropbox
上面的步骤需要通过Gmail作为中介,更简单的方法是在wordpress管理后台,直接设置wp-db-backup备份插件选项。将定时备份邮箱设置为sendtodropbox给的**邮箱地址。
现在所有定时执行生成的wordpress备份文件都会自动发送到你的Dropbox账户中了,通过Dropbox自动同步到本地电脑,就啥事都不用做了。Wordpress备份插件(wp-db-backup)+Dropbox+SendtoDropbox(+Gmail)就是**的懒人**组合了。
尽管有许多WordPress插件可以辅助进行网站数据库的备份,但是对于站长/*主而言,掌握基本的phpMyAdmin备份操作是很有必要的。比如,有的插件需要登录到WordPress的管理控制台进行备份和恢复,那么在网站出现异常时,这样的插件无法继续使用。
phpMyAdmin是一个开源免费(与WordPress一样免费哦)的MySQL数据库管理工具,因此,几乎所有的主机空间服务商都提供有phpMyAdmin软件。
使用MySQL数据库管理工具phpMyAdmin备份数据库
备份数据库的过程,实质就是将数据库中的内容导出为文件,保存到本地计算机硬盘、网盘、或者其他安全可靠的存储介质中。
**步,登录主机管理系统,找到【phpMyAdmin】,点击进入。不同的主机管理系统可能位置都不一样,如果你找不到,可以联系主机服务商咨询。
在cPanel管理系统中,【phpMyAdmin】被翻译作【phpMy管理】,倒也符合其名字的原意:php+MySQL+Admin。
cPanel中的phpMyAdmin软件
第二步,在左侧导航栏中,选择你要备份的数据库,然后点击【导出】(Export)。
phpMyAdmin中选择数据库
第三步,如果你网站的数据库比较大,那么导出的数据文件也会比较大。可以选择导出方式(Export Method)为【自定义】(Custom),然后在【输出】(Output)选项中选择【压缩格式】(Compression):可以选择导出为zip压缩格式或者gz压缩格式。
phpMyAdmin导出数据
第四步,点击【执行】(Go)按钮,开始下载导出的数据库文件。
文件通过浏览器保存到本地计算机之后,你应该妥善保存,以便需要的时候可以快速找到。同时,你还可以复制几份保存在其他安全可靠的介质中,比如U盘,网盘中等。
很简单吧,我们这样就轻松完成了WordPress数据库的备份工作。只需要几秒钟就可以完成备份。
下面介绍的这种办法,更为简单,通过cPanel的备份功能进行备份。当然,这个办法要求你使用的是带有cPanel管理系统的虚拟主机。
使用cPanel备份工具进行数据库备份
对于cPanel主机,可以使用更简单的办法进行数据库备份。
登录cPanel管理系统之后,在【文件】(Files)区域,点击【备份】(Backups)图标,出现备份选项:
cPanel中备份数据库
在【部分备份】(Partial Backups)部分,可以找到数据库的备份文件,点击需要备份的数据库文件名,就可以将备份文件下载到本地计算机中。
在这篇文章中,预习笔记:如何使你的*客帖子私有化(在任何WordPress网站上)如何使你的页面私有化(在任何WordPress网站上)如何使你的整个网站私有化(在一个自托管网站上)如何使你的整个网站私有化(在WordPress****上)总结常见问题解答1.你是否想在你的商业网站上创建一个基本的“仅限成员”区域,或者只是有一个私人*客供你的家人和朋友阅读,有很多理由**你的部分或全部网站
WordPress长文章分页的操作步骤: **步:进入WordPress网站后台,在外观下找到“编辑”选项,然后找到文章页面模块single.php,在single.php中找到下面的代码 <?phpthe_content();?> 第二步:找到上面的代码之后,在其下方添加wordpress自带的分页功能函数代码: <?phpwp_link_pages();?> 第三步
1.其实很简单,把以下代码放到记事本中,文件命名为Ajun.php,然后上传到网站根目录下,访问网站/Ajun.php,就可以重新设置密码了。 2.请注意:一定要修改代码中的MYSQL连接信息。 代码如下: <?php /*你的数据库服务器地址,一般保持默认*/ $servername=“localhost:3306”; /*数据库用户名*/ $phpMyadminUser=“root”;
WordPress拥有各种各样的插件,这些插件**的扩展了Wordpress的功能。但面对众多的插件,我们需要哪些、不需要哪些呢?下面是我安装插件的一些经验介绍,仅供参考。 1.Akismet 在我的 WordPress 3.01个人使用记录这篇*文中已经提及该插件,这里再介绍下。Akismet是Automattic公司的一个专注于剿杀垃圾评论的产品,由于当前垃圾评论泛滥,启用该插件是非常必要的