简单的大数据量MySQL备份的PHP脚本

简单的大数据量MySQL备份的PHP脚本
文章用了两句代码就可以实现大数据量MySQL备份了,下面来看例子,实例代码如下: //备份脚本    exec("{$cfg['bak']['mysqldump']} -u {$data['username']} --password={$data['password']}  --default-character-set=gbk {$data['dbname']} > {$fileName} ");//开源代码www.xiariboke.net    //恢复脚本   ...

mysql数据不存在就插入 否则就更新数据

mysql数据不存在就插入 否则就更新数据
下面来看一个mysql 数据不存在就插入,否则就更新数据的例子,希望例子能帮助到各位同学.有2种方法,代码如下: insert ignore into {$this->getTable(‘core_config_data’)} (scope,scope_id,path,value) values (‘default’,0,’dev/debug/template_hints’,0);    注:如果使用的是insert into 发现重复的会报错,而insert ignore into 发现将要插入的数据...

mysql锁表情况与文件打开数查看

mysql锁表情况与文件打开数查看
在mysql中我们如果不能编辑my.ini文件就只能通过show来检查我们my.ini相关配置了,下面我就mysql锁表查看来给各位介绍一下吧. 文件打开数(open_files):mysql> show global status like 'open_files'; 比较合适的设置:Open_files / open_files_limit * 100% MySQL表锁情况: mysql> show global status like 'table_locks%'; 哪些表正在被锁状态,进入mysql数据库:show OPEN TABLES where In_use >...

mysql中unsigned类型字段出现65535错误

mysql中unsigned类型字段出现65535错误
这里是使用了unsigned 的 smallint 字段类型在更新时提示 65535错误了,这个意思是长度在65535之外了,也就是会出现补数溢出的情况了,下面本文章来给各位介绍解决办法. $sql = "UPDATE `dzxbbs_common_member` SET newprompt=newprompt-1 WHERE uid='{$uid}'"; `dzxbbs_common_member` 表中 newprompt的类型是 smallint unsigned 长度为6的类型。 当newprompt值为0时,执行这条sql语句,得到了意想不到的结果ne...

Mysql数据库水平分表实现方案

Mysql数据库水平分表实现方案
mysql分表一般是碰到数据量大的业务了才可能做的一个数据优化处理工具了,下面本文章给各位介绍在不同数量量时的一个分表方案,希望这些方案能帮助到各位朋友. 根据经验,Mysql表数据一般达到百万级别,查询效率会很低,容易造成表锁,甚至堆积很多连接,直接挂掉,水平分表能够很大程度较少这些压力. 1.按时间分表 这种分表方式有一定的局限性,当数据有较强的实效性,如微博发送记录、微信消息记录等,这种数据很少...

MYSQL中INNODB存储引擎数据库恢复方法

MYSQL中INNODB存储引擎数据库恢复方法
INNODB存储引擎数据库恢复方法与另一种类型的数据库恢复是有区别的,下面本文章就为大家介绍MYSQL中INNODB存储引擎数据库恢复方法,希望文章能给各位带来帮助哦。 MySQL的数据库文件直接复制便可以使用,但是那是指“MyISAM”类型的表。 而使用MySQL-Front直接创建表,默认是“InnoDB”类型,这种类型的一个表在磁盘上只对应一个“*.frm”文件,不像MyISAM那样还“*.MYD,*.MYI”文件。 MyISAM类型的表直接拷到另一...

MySQL创建新用户并授权的示例

MySQL创建新用户并授权的示例
对于mysql数据库创建一个新用户然后给用户授权是一个通常要做到的方法,下面一聚教程小编与大家一起学习一下MySQL创建新用户并授权的方法。 为MySQL添加新用户的方法有两种:通过使用GRANT语句或通过直接操作MySQL授权表;比较好的方法是使用GRANT语句,更简明并且很少出错。GRANT语句的格式如下: GRANT 权限 ON 数据库.数据表 TO 用户名@登录主机 IDENTIFIED BY “密码” 例如,添加一个新用户名为phpuser...

MySQL数据库的连接与关闭的示例

MySQL数据库的连接与关闭的示例
myql数据库连接非常的简单在cmd命令下直接使用mysql -h 服务器主机地址 -u 用户名 -p用户密码即可,如果在php 中我们使用mysql_connect()函数即可,下面一起来看看. MySQL客户机主要用于传递SQL查询给服务器,并显示执行后的结果。可以和服务器运行在同一个机器上,也可以在网络中的两台机器上分别运行。当你连接一个MySQL服务器时,你的身份由你从那台连接的主机和你指定的用户名来决定。所以MySQL在认定身...

mysql中创建修改删除数据表例子

mysql中创建修改删除数据表例子
在mysql中创建修改删除数据表命令非常的简单,创建使用的是CREATE TABLE页删除表是使用drop table 修改表就简单了ALTER TABLE即可,下面与小编来学习一下。 在PHP中应用数据库时,通常是先在MySQL客户机的控制台中,使用DDL语句创建网站中的数据库、数据表及修改表结构等操作以后,再在PHP脚本中应用。很少直接在PHP中执行DDL语句动态创建数据库、数据表或修改表的操作,通常也只有在制作安装版本的网站时...

mysqlbinlog把mysql二进制文件转换文本文件

mysqlbinlog把mysql二进制文件转换文本文件
mysqlbinlog命令是mysql中的一个恢复mysql数据库的工具了,下面本文章再次来为各位介绍利用mysqlbinlog来恢复mysql二进制日志的例子. 目前一些项目已经迁移到Mysql5.5,而在mysql5.5中binlog_format为mixed这样的话,默认情况下的Mysql binary log就是base64格式,不可读,为了在排查问题时候,提供帮助研读下mysqlbinlog的帮助文档得知可以解码: –base64-output[=name]    Determine whe...

MySQL随机读取与更新n条数据的方法

MySQL随机读取与更新n条数据的方法
今天看到一个朋友分享两处随机读取N条记录的文章,下面我们做了一下之后会发现可以随机做个更新了,下面一起来看看吧. 随机读取数据:MYSQL自身语句便可实现,下面举例来说明,比如,我要随机读取6条数据显示给浏览者. MYSQL语句,代码如下:select * from youtable order by rand() limit 6"; 如果要随机取6-10条记录,可以这样: $num=rand()(5,10);$sql="select * from youtable order by rand() limit $num"; 不...

mysql在SQL语句中使用replace替换字符

mysql在SQL语句中使用replace替换字符
replace替换如果不配合update语句来操作是无法实现替换更新的,只能实现替换查询了,下面来给各位介绍一下关于replace例子. 本来不想告诉大家的,因为采集别人网站不是什么光彩事,但觉得这个技巧实在是够强,要不是这简短的一行代码,我还不累死了,是这样的,采集了一些别人的文章,可能是采集程序的问题,每篇文章的标题里都多出了一些字符,导致在生成HTML网页后很多内容不显示,但是看了看记录有2000多条,一条一条...

MYSQL提示 max_open_files: 2048 max_connections: 800 table_cache: 619

MYSQL提示 max_open_files: 2048 max_connections: 800 table_cache: 619
今天在服务器的系统日志中碰到了 max_open_files:2048 max_connections:800 table_cache: 619 错误提醒了,下面我就此问题的解决办法给各位介绍一下吧. 我的服务器事件日志里面有很多Changed limits: max_open_files:2048 max_connections: 800 table_cache: 619的警告,是由MYSQL发出的,大致意思可能是 max_connections和table_cache不匹配生成的,但一时我不知如何设置才匹配. 百度了一下,出现这个错误警告...

MySQL数据库备份与还原方法总结

MySQL数据库备份与还原方法总结
MySQL数据库备份与还原方法不少因为有命令方式与工具方式还有就是用户自定义的程序备份,下面我来稍加整理一些常用的MySQL数据库备份与还原方法,希望例子能帮助到大家. 备份策略一:直接拷贝数据库文件(不推荐) 备份策略二:使用mysqlhotcopy备份数据库(完全备份,适合小型数据库备份) 备份策略三:使用mysqldump备份数据库(完全+增量备份,适合中型数据库备份) 备份策略四:使用主从复制机制(replica...

mysql数据库自增id重新从1排序的两种方法

mysql数据库自增id重新从1排序的两种方法
mysql默认自增ID是从1开始了,但当我们如果有插入表或使用delete删除id之后ID就会不会从1开始了. 使用mysql时,通常表中会有一个自增的id字段,但当我们想将表中的数据清空重新添加数据时,希望id重新从1开始计数,用以下两种方法均可. 通常的设置自增字段的方法,创建表格时添加: create table table1(id int auto_increment primary key,...) 创建表格后添加: alter table table1 add id int auto_increment pr...

mysql Copying to tmp table on disk 影响性能

mysql Copying to tmp table on disk 影响性能
在使用mysql是突然发现提醒mysql Copying to tmp table on disk 错误了,下面我们来看看此问题的解决办法. 经过查资料发现mysql可以通过变量tmp_table_size和max_heap_table_size来控制内存表大小上限,如果超过上限会将数据写到磁盘上,从而会有物理磁盘的读写操作,导致影响性能. 我们可以通过调整这两个变量的值来提升性能,当然前提条件是mysql所在服务器有足够的内存. 首先可以通过下面语句查看当前的变量...

Mysql线程池优化笔记

Mysql线程池优化笔记
Mysql线程池优化我是总结了一个站长的3篇文章了,这里我整理到一起来本文章就分为三个优化段了,下面一起来看看. Mysql线程池系列一(Thread pool FAQ) 首先介绍什么是mysql thread pool,干什么用的?使用线程池主要可以达到以下两个目的: 1、在大并发的时候,性能不会因为过载而迅速下降. 2、减少性能抖动. thread pool的工作原理? 线程池使用分而治之的方法来限制和平衡并发性,与默认的thread_handling不同,...

mariadb multi-source replication,mariadb多主复制

mariadb multi-source replication,mariadb多主复制
mariadb multi-source replication(mariadb多主复制),在mariadb-10.0里面加入了多主复制功能. 修改过的语法: 针对每个复制线程会有一个对应的connection_name,而connection_name是default_master_connection变量的值,如果你要操作对应的复制线程,需要将这个变量设置为对应的复制线程的名字。 connection_name的值是长度小于64的任何字符串,并且对大小写不敏感。你需要尽量让连接名固定,因为它会被作为文件...

mysql数据库分区功能及实例详解

mysql数据库分区功能及实例详解
分区听起来怎么感觉是硬盘呀,对没错除了硬盘可以分区数据库现在也支持分区了,分区可以解决大数据量的处理问题,下面一起来看一个mysql数据库分区功能及实例详解. 一,什么是数据库分区 前段时间写过一篇关于mysql分表的的文章,下面来说一下什么是数据库分区,以mysql为例。mysql数据库中的数据是以文件的形势存在磁盘上的,默认放在/mysql/data下面(可以通过my.cnf中的datadir来查看),一张表主要对应着三...

mysql触发器trigger操作memcache实例

mysql触发器trigger操作memcache实例
对memcache的操作一般都是放程序里面去操作的,新增,更新,删除什么的,如果能利用mysql来对memcache进行操作,那就更好,代码端就会简单一点,但是利用mysql来操作memcache,比较适合实现简单的方式,下面说一下安装的过程和遇到的问题,在看安装过程的之前,我觉得应当先看一下,我安装时候所遇到的问题,这样你可以避免掉,少走一点弯路. 一,安装所要的软件 mysql5.1以前版本:http://downloads.mysql.com/archives/...