热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

mysql数据库优化技术(2)

任务调度计划php定时完成数据库的备份:?1、手动备份数据库(表)的方法:cmd控制台:mysqldump-uroot-p123数据库(temp)文件保存路径(d:temp.bak);备份数据库的某几张表:mysqldump-uroot-p123数据库[表名1,表名2..](tempdept)文件

任务调度计划 php 定时完成数据库的备份: ?1 、手动备份数据库 (表)的方法: cmd 控制台: mysqldump-uroot-p123 数据库 (temp) 文件保存路径 (d:\temp.bak) ;备份数据库的某几张表: mysqldump-uroot-p123 数据库 [ 表名 1 ,表名 2..](tempdept) 文件

任务调度计划

php定时完成数据库的备份:

? 1、手动备份数据库(表)的方法:cmd控制台:mysqldump -u root -p123 数据库(temp) >文件保存路径(d:\temp.bak);备份数据库的某几张表:mysqldump -u root -p123 数据库 [表名1,表名2..] (temp dept)>文件路径(d:\temp.dept.bak)

? 使用备份文件恢复数据:MySQL控制台:source d:\temp.dept.bak(如果不成功,\可能需要转义)

? 2、使用定时器自动完成。把备份数据库的指令,写入到bat文件,然后通过任务管理器去定时调用bat文件:创建mytask.bak文件,在文件中写如下指令:”D:\wamp\bin\mysql\mysql5.6.12\bin\mysqldump” -u root -p123 temp dept >d:\temp.dept.bak(如果mysqldump.exe文件路径有空格要用双引号引起来)。在控制面板->系统和安全->计划任务->创建基本任务。(缺点是每次都覆盖原来的文件)

? 3、使用PHP调度。1、建立一个PHP文件(mytask.php)

d:\\$bakfilename”;
exec($command);	//执行命令
?>


2、建立mytask2.bat文件,用于定时执行上面建立的PHP文件(php.exe可以再控制台解析 php 文件:php.exe php文件路径),mytask2.bat内容如下: D:\wamp\bin\php\php5.4.16\php.exe D:\wamp\www\mytask.php

? insert into dept select deptno,dname,loc from dept;主从复制。

? PHP完成定时发送邮件功能。

? 发送邮件有两种方法:搭建自己的服务器、让已有的服务器(如163的)代为转发。

? 1、设计一张邮件表:

create table maillist

(id int unsigned primary key auto_increment,

getter varchar(64) not null default '',

sender varchar(64) not null default '',

title varchar(32) not null default '',

content varchar(2048) not null default '',

sendtime int unsigned not null default 0,

flag tinyint unsigned not null default 0

)engine=myisam charset utf8;

2、插入一些数据:

insert into maillist values

(null,'464839522@qq.com','hzn.itself@gmail.com','hello100','abc,hello100',unix_timestamp()+10*3600,0);

insert into maillist values

(null,'464839522@qq.com','hzn.itself@gmail.com','hello200','abc,hello200',unix_timestamp()+10*3600,0);

3、建立一个php文件(mytask.php:

更新数据库成功';
}
}
}
 
mysql_free_result($res);
mysql_close($con);
?>


4、配置php.ini

[mail function]

; For Win32 only.

; http://php.net/smtp

SMTP = localhost

; http://php.net/smtp-port

smtp_port = 25

; For Win32 only.

; http://php.net/sendmail-from

sendmail_from = 464...522@qq.com //可以写多个


表的分割技术

? 水平分割:




uuid表用于生成id

addUser.php

可以认为是qq号
$sql="insert into uuid values(null)";
if(mysql_query($sql,$con)){
$uuid=mysql_insert_id();
$tablename='qqlogin'.$uuid%3;	//3张表
$sql="insert into ".$tablename." values('$uuid','aaa','aaa')";
if(mysql_query($sql,$con)){
echo '添加用户成功';
}
}else{
die('添加失败');
}
 
mysql_close($con);
?>


checkUser.php

在'.$tablename.'表中存在这个用户'.$row['name'];
}else{
die('没有用户');
}
mysql_free_result($res);
mysql_close($con);
?>


? 我们在提供检索时,应该根据业务的需求,找到分表的标准,并在检索页面,约束用户用户检索方式-》分页,如果有大表检索的需求,也是少数的。

? 表的垂直分割:

某个表的某些字段,在查询时,并不是经常使用,但是数据量很大,建议把这些字段单独放到另一张表。

? 修改my.ini:端口号port=3306、最大连接数(并发数)max_cOnnections=1000


? tinyint(1)括号里的数据表示零填充:

create table test(id1 tinyint(2) zerofill,id2 tinyint(3) zerofill);

insert into test values(2,3);


? 增量备份:mysql数据库会议二进制的形式,把用户对mysql的操作,记录到文件中。

? 增量备份会记录(dml语句,创建表的语句,不会记录select);记录的是:操作语句本身、操作的时间、操作的位置。

? 如何启用增量备份:(1)配置mysql.ini文件或my.cof,启用二进制备份log-bin=mysql-bin(存放路径)(默认把文件存放在data目录下);(2)启动mysql得到文件:

mysql-bin.index 索引文件,有哪些增量备份文件

mysql-bin.000001 存放用户对数据库操作的文件

3)可以使用mysql/bin/mysqlbinlog程序查看备份文件。cmd: mysqlbinlog 备份文件路径

? 可以通过位置或时间恢复


时间点:stop 表示从开始恢复到该时间点的操作,start表示从该时间点恢复到最后的操作;

恢复时间段:mysqlbinlog --start-datetime=”2013-01-14 18:20:21” --stop-datetime=”2013-01-14 18:40:35”

恢复位置段:mysqlbinlog --start-postion=”110” --stop-postion=”230”

? reset master:清理二进制日志;expire_logs_days=过期天数,设置到了过期时间自动清理的功能,my.ini中添加

? 如何在工作中将全备份和增量备份配合使用:每周做一个全备份:mysqldump,启用增量备份(把过期时间设为大于或等于7的天数)。

推荐阅读
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • PHP设置MySQL字符集的方法及使用mysqli_set_charset函数
    本文介绍了PHP设置MySQL字符集的方法,详细介绍了使用mysqli_set_charset函数来规定与数据库服务器进行数据传送时要使用的字符集。通过示例代码演示了如何设置默认客户端字符集。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 本文由编程笔记小编整理,介绍了PHP中的MySQL函数库及其常用函数,包括mysql_connect、mysql_error、mysql_select_db、mysql_query、mysql_affected_row、mysql_close等。希望对读者有一定的参考价值。 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • Oracle分析函数first_value()和last_value()的用法及原理
    本文介绍了Oracle分析函数first_value()和last_value()的用法和原理,以及在查询销售记录日期和部门中的应用。通过示例和解释,详细说明了first_value()和last_value()的功能和不同之处。同时,对于last_value()的结果出现不一样的情况进行了解释,并提供了理解last_value()默认统计范围的方法。该文对于使用Oracle分析函数的开发人员和数据库管理员具有参考价值。 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • 本文介绍了RPC框架Thrift的安装环境变量配置与第一个实例,讲解了RPC的概念以及如何解决跨语言、c++客户端、web服务端、远程调用等需求。Thrift开发方便上手快,性能和稳定性也不错,适合初学者学习和使用。 ... [详细]
  • 解决VS写C#项目导入MySQL数据源报错“You have a usable connection already”问题的正确方法
    本文介绍了在VS写C#项目导入MySQL数据源时出现报错“You have a usable connection already”的问题,并给出了正确的解决方法。详细描述了问题的出现情况和报错信息,并提供了解决该问题的步骤和注意事项。 ... [详细]
  • 本文介绍了关于apache、phpmyadmin、mysql、php、emacs、path等知识点,以及如何搭建php环境。文章提供了详细的安装步骤和所需软件列表,希望能帮助读者解决与LAMP相关的技术问题。 ... [详细]
  • 高质量SQL书写的30条建议
    本文提供了30条关于优化SQL的建议,包括避免使用select *,使用具体字段,以及使用limit 1等。这些建议是基于实际开发经验总结出来的,旨在帮助读者优化SQL查询。 ... [详细]
author-avatar
艾米27
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有