Mysql
文章平均质量分 61
huithe
突突网络-我们只专注于影楼网站建设.致力于全国影楼网站建设 婚纱摄影网站建设,制作,设计,维护,管理,推广
展开
-
看一下phpmyadmin 是如何导出和导入数据编码情况
用 phpmyadmin 的 导出功能,把一个表导出. 数据库编码和表编码都是GBK 的. 然后我用火狐浏览器,打开,在 gbk 编码下中文已经乱码 选择utf8 以后呢.就好. 证明导出的文本是UTF8 的. 打开导出的数据文件,看到和直接使用 mysqldump 导出的干净了很多,连 set names * 语句都省却了,那么也就是说在导原创 2010-01-17 09:28:00 · 1341 阅读 · 0 评论 -
M M M 的MYSQL 环形复制
比较简单。所以之做大概记录。不详细了结构:A -> B -> C -> A最简单的,如果允许的话。 停止三台MYSQL 。然后让他们的数据全部一样。 配置环形复制前,先按照 主从 结构来进行。 都没问题了之后,再以此基础上原创 2011-10-14 15:05:56 · 1727 阅读 · 0 评论 -
老王的 LIMIT 优化 PHP分页
作者:老王在网上随便搜搜,就能找到大把的关于MySQL优化的文章,不过里面很多都不准确,说个常见的:SELECT a FROM ... WHERE b = ...一般来说,很多文章会告诫你类似这样的查询,不要在“a”字段上建立索引,而应该在“b”上建立索引。这样做确实不错,但是很多时候这并不是最佳结果。为什么这样说?让我们先来分析一下查询的处理过程:在执行查询时,系统会查询转载 2011-11-12 19:57:59 · 1038 阅读 · 0 评论 -
从binlog恢复数据及Mysqlbinlog文件删除
做了mysql主 从也有一段时间了,这两天检查磁盘空间情况,发现放数据库的分区磁盘激增了40多G,一路查看下来,发现配置好主从复制以来到现在的binlog就有40 多G,原来根源出在这里,查看了一下my.cnf,看到binlog的size是1G就做分割,但没有看到删除的配置,在mysql里查看了一下 variablesmysql>show variables like '%log%';转载 2011-12-05 15:29:15 · 1664 阅读 · 0 评论 -
解决Mysql主从不同步问题
解决Mysql主从不同步问题来源: ChinaUnix博客 日期: 2007.07.05 19:26 (共有条评论) 我要评论 今天Mysql的主从数据库没有同步导致网页读不到数据,当网页不能读到数据时,猜想上数据库的原因。首先在Master上用 show processlist; 查看下进程是否Sl转载 2011-12-04 11:49:04 · 893 阅读 · 0 评论 -
mysql 队列。实现并发读
队列是常用的数据结构,基本特点就是先入先出,在事务处理等方面都要用到它,有的时候是带有优先级的队列。当队列存在并发访问的时候,比如多线程情况下,就需要锁机制来保证队列中的同一个元素不被多次获取。一个 MySQL 表可以看作是一个队列,每一行为一个元素。每次查询得到满足某个条件的最前面的一行,并将它从表中删除或者改变它的状态,使得下次查询不会得到它。在没有并发访问的情况下,简单地用 SELECT转载 2011-12-06 22:57:21 · 2978 阅读 · 0 评论 -
show processlist 查找 进程 KILL叼
show processlist; show processlist\G 列表方式查看 show full processlist;查看当前mysql查询进程,显示完整的SQL命令当MySQL繁忙的时候运行show processlist,会发现有很多行输出,每行输出对应一个MySQL连接。怎么诊断发起连接的进程是哪个?它当前正在干嘛呢?首先,需要通过TCP Socket而转载 2012-06-08 00:05:28 · 6685 阅读 · 1 评论 -
mysql char 和 varchar 区别
1. CAHR与VARCHAR类型 范围字节备注[NATIONAL] CHAR(M) [BINARY| ASCII | UNICODE]固定长度字符串M表示列长度。M的范围是0到255个字符M个字节0 M 1.当保存时在右侧填充空格以达到指定的长度.转载 2012-08-01 14:52:32 · 900 阅读 · 0 评论 -
mysql中char和varchar的 左右空格区别
都知道mysql中char和varchar的区别:1、char是固定长度的,如果长度不足,采用右补空格的方式来填充字符串至规定的长度,而varchar不是,有多长存多长。2、对于检索效率来说,char的效率要高于varchar的好,问题来了既然char是右补空格的,那么我如果存入的字符串右边有个空格,是如何处理的呢?简单测试一下:首先建一个表,有两个转载 2012-08-01 14:34:11 · 1748 阅读 · 0 评论 -
myisam与innodb索引组织逻辑结构
首先复习一下myisam与innodb索引组织逻辑结构:•Myisam -主键索引/非主键索引 叶子节点上均带有行号,通过行号进行索引•Innodb -主键索引(聚簇索引) 叶子节点上带有数据 -非主键索引(第二索引) 叶子节点上带有主键id问题:为什么innodb存储引擎的转载 2013-01-31 12:26:10 · 968 阅读 · 0 评论 -
mysql 数据库的悲观锁 乐观锁
一个典型的倚赖数据库的悲观锁调用: select * from account where name=”Erica” for update这条 sql 语句锁定了 account 表中所有符合检索条件( name=”Erica” )的记录。本次事务提交之前(事务提交时会释放事务过程中的锁),外界无法修改这些记录。Hibernate 的悲观锁,也是基于数据库的锁机制实现。注意,只有在转载 2013-02-17 15:55:27 · 698 阅读 · 0 评论 -
多实例mysql的安装和管理
mysql的多实例有两种方式可以实现,两种方式各有利弊。第一种是使用多个配置文件启动不同的进程来实现多实例,这种方式的优势逻辑简单,配置简单,缺点是管理起来不太方便。第二种是通过官方自带的mysqld_multi使用单独的配置文件来实现多实例,这种方式定制每个实例的配置不太方面,优点是管理起来很方便,集中管理。下面就分别来实战这两种多实例的安装和管理先来学习第一种使用多个配转载 2013-05-29 17:46:15 · 1454 阅读 · 0 评论 -
mysql 完成的全库备份和恢复
导入记得先关了日志set global general_log='OFF' set global slow_query_log='OFF'然后再恢复原创 2013-05-30 23:27:55 · 791 阅读 · 0 评论 -
mysqldumpslow
执行mysqldumpslow –h可以查看帮助信息。主要介绍两个参数-s和-t-s 这个是排序参数,可选的有:al: 平均锁定时间ar: 平均返回记录数at: 平均查询时间c: 计数l: 锁定时间r: 返回记录t: 查询时间-t n 显示头n条记录。实例:mysqldumpslow -s c -t 20 host-slow.logmysql转载 2013-07-19 16:42:50 · 1032 阅读 · 0 评论 -
ubuntu 安装 mysql 报错
GCC atomic builtins110805 17:30:19 InnoDB: Compressed tables use zlib 1.2.3110805 17:30:19 InnoDB: Initializing buffer pool, size = 256.0M110805 17:30:19 InnoDB: Completed initialization o转载 2013-10-31 14:59:17 · 818 阅读 · 0 评论 -
haproxy mysql 均衡
Haproxy作为MySQL中间层是很成熟的方案,特别是解决从库的负载均衡和故障切换,在生产环境中有着广泛的应用。在实际使用过程中,有两个问题比较容易发生: 1. TCP端口耗尽 2. 网卡带宽跑满 本文重点讲讲如何优化问题1,问题2暂不讨论。优化一: 使用尽可能多的端口 Linux系统默认提供了65K个端口,每当Haproxy建立了一个到MySQL的连接,就会消耗转载 2013-11-02 21:17:11 · 1385 阅读 · 0 评论 -
mysql 复制 等技巧
概述首先主服务器把数据变化记录到主日志,然后从服务器通过I/O线程读取主服务器上的主日志,并且把它写入到从服务器的中继日志中,接着SQL线程读取中继日志,并且在从服务器上重放,从而实现MySQL复制。具体如下图所示:MySQL复制整个过程反映到从服务器上,对应三套日志信息,可在从服务器上用如下命令查看:mysql> SHOW SLAVE STATUS;转载 2014-03-01 15:45:40 · 788 阅读 · 0 评论 -
Mysql的主从复制
Mysql的主从复制至少是需要两个Mysql的服务,当然Mysql的服务是可以分布在不同的服务器上,也可以在一台服务器上启动多个服务。(1)首先确保主从服务器上的Mysql版本相同(2)在主服务器上,设置一个从数据库的账户,使用REPLICATION SLAVE赋予权限,转载 2011-10-13 21:29:04 · 510 阅读 · 0 评论 -
慢查询 日志分析工具使用
<br />其实都挺简单的东西。。。脚本都有了就不用自己写了。这个太爽了<br /> <br /> <br />myprofi<br />纯php写的一个开源分析工具.项目在 sourceforge 上.<br />http://myprofi.sourceforge.net/<br /> <br /> <br />运行:<br /> <br /> php parser.php -slow slow.log | more<br /> <br />就可以看到分析的东西了。。。<br /> <br /> <原创 2011-04-01 16:20:00 · 1008 阅读 · 0 评论 -
man mysqldump 翻译
MYSQLDUMP(1) MySQL Database System MYSQLDUMP(1)<br /><br /><br /><br />NAME<br /> mysqldump - a database backup program<br /><br />SYNOPSIS<br /> mysqldump [options] [db_name [tbl_name ...]]<br /><br />DESCRIPTION<br />翻译 2011-02-12 17:04:00 · 1340 阅读 · 0 评论 -
哦,一个大意导致3天3夜没解决的问题
在 mysqldump 备份数据的时候, mysqldump -u root -p --default-character-set=gbk 的时候呢显示 mysqldump: Character set gbk is not a compiled character set and is not specified in the /usr/local/share/mysq原创 2010-01-16 17:27:00 · 1159 阅读 · 0 评论 -
使用mysqldump 把GBK编码的数据库转换成UTF8存储
打算把一个数据库编码为 utf8 的数据库,转换成gbk 来存储。以目前mysql的版本,先做一个转换测试..在数据很大量的情况下,我认为很有必要呵呵。 记下来备忘了。 目前mysql状态 mysql 版本: Server version: 5.1.41-log Source distribution 目前编码情况是这样的: my原创 2010-01-16 10:39:00 · 8106 阅读 · 0 评论 -
收集一些常用的管理语句... 老了~~脑袋不好使,总记不住
快速创建memory 表等 create table tsmemory engine=memory select * from tt 查看表状态 show table status like tsmemory 看fix 表还是compact 表,这个可以行~~ 查看表索引 show index from tsmemory 还可以这样查看索原创 2010-01-20 17:11:00 · 850 阅读 · 0 评论 -
innodb 共享表空间,数据备份和恢复的一个测试
实验: 停掉 mysql 移除 ib_logfile0 ib_logfile1 ibdata1 重启mysql以后,自动重建了 ib_logfile redo 日志文件 和 ibdata 数据字典文件。 能在数据库里面看到表,但 select * from 的时候,却原创 2010-01-21 10:44:00 · 1190 阅读 · 0 评论 -
意外的 set names *
意外的发现。在做PHP开发的时候。读写数据库之前总要 set names * 某个编码,预示客户端 是以什么样的编码来进行数据库的读写。这个是知道的。 但今天在导数据库的时候发现个细节,记录下 mysql> show variables like character%;+--------------------------+-----------------------原创 2010-02-02 10:29:00 · 689 阅读 · 0 评论 -
CHANGE MASTER 的问题
使用了 CHANGE MASTER 来设置 slave 的 master 信息以后。发现注释掉my.cnf 里面关于master-* 这块的信息,任然能连上 master 服务。 奇怪了感觉。所以查看了下 my.cnf 关于这块的解释 Set the variables below. However, in case you choose this met原创 2010-02-03 09:17:00 · 1332 阅读 · 0 评论 -
Slave_SQL_Running : no
Slave_IO_Running : yesSlave_SQL_Running : no 那就是同步可能卡在了sql 执行这里了。再看下 Master_Log_File: mysql-bin.000060Read_Master_Log_Pos: 208 应该是不对的。我直接在 master 上 执行 show master status/G;原创 2010-02-03 10:11:00 · 877 阅读 · 0 评论 -
mysqldump --default-character-set
今天用mysqldump 倒数据,忽然发现忘记使用了 --default-character-set 了,那就借机看下,如果不加导出编码,那么 mysqldump 是按照啥编码来定的呢? 我查看了导出的sql 文件的内码是:UTF8的然后我运行了一下命令: mysql> show variables like charac%;+-----------------原创 2010-02-03 10:23:00 · 7293 阅读 · 0 评论 -
删除了slave 的 中继日志后的恢复
一不小心把 slave 的中继日志给删掉了。最后也给我恢复了。所以继续模拟一下过程。整理记录 一 master 一 slave 。 master 是win slave 是 FB 系统。。其实和系统无关。 目前同步正常。。 先在slave 中把中继日志删掉 beihai365# rm beihai365-relay-bin.00000* 一共有两个中继日原创 2010-02-04 15:51:00 · 1641 阅读 · 2 评论 -
以为“忘记密码”
重装了MYSQL 以后。我记得我是修改了密码的 SET PASSWORD = PASSWORD(XXXX); 可是过了一会去登录却发现登录不上了。。。我那个郁闷。。难道给HACK 了~ ok。越过权限表启动进去再说 mysqld_safe --skip-grant-tables & 然后查看下 user 表情况 use mysql; se原创 2010-04-24 10:45:00 · 709 阅读 · 0 评论 -
mysql 的 slave-skip-errors 使用
<br />为了试验,所以故意在 slave mysql 上插入 一条 id 5000的记录为<br /> <br />mysql> insert into fs_report(rid,tid,rpcontent) values(5000,3,'qqqq');<br /> <br />然后在 master mysql 上也插入<br /> <br />mysql> insert into fs_report(rid,tid,rpcontent) values(5000,3,'qqqq');<br />原创 2010-09-20 22:34:00 · 4852 阅读 · 0 评论 -
mysql 复制 常用命令
<br />1.创建复制帐号<br /> <br />GRANT REPLICATION SLAVE ON *.* TO 'rep1'@'192.168.1.2' IDENTIFIED BY '123test';<br /> <br />2. 锁所有表<br />flush tables with read lock;<br /> <br /> <br />3. 显示 master 状态<br />show master status;<br /> <br />4. 解锁<br />unlock tab原创 2010-10-29 21:57:00 · 833 阅读 · 0 评论 -
读 高性能MySQL
1.解决MYSQL和和进程故障 show processlist/G查看 host 项 查找具体进程的 IDnetstat -ntp | grep :34334 netstat -ntp | grep 123423/apache 查找进程更新过的文件:lsof -i -P | grep 12343原创 2010-11-08 08:54:00 · 695 阅读 · 0 评论 -
ON DUPLICATE KEY UPDATE
<br />MySQL 自4.1版以后开始支持INSERT … ON DUPLICATE KEY UPDATE语法,使得原本需要执行3条SQL语句(SELECT,INSERT,UPDATE),缩减为1条语句即可完成。<br />例如ipstats表结构如下:<br />引用 <br />CREATE TABLE ipstats (<br />ip VARCHAR(15) NOT NULL UNIQUE,<br />clicks SMALLINT(5) UNSIGNED NOT NULL DEFAULT ’0转载 2010-11-09 18:10:00 · 596 阅读 · 0 评论 -
记录一下 exists 用法
<br />在 MySQL 中,插入(insert)一条记录很简单,但是一些特殊应用,在插入记录前,需要检查这条记录是否已经存在,只有当记录不存在时才执行插入操作,本文介绍的就是这个问题的解决方案。<br /><br />问题: 我创建了一个表来存放客户信息,我知道可以用 insert 语句插入信息到表中,但是怎么样才能保证不会插入重复的记录呢?<br />答案: 可以通过使用 EXISTS 条件句防止插入重复记录。<br /><br />示例一:插入多条记录 <br />假设有一个主键为 client转载 2010-11-10 17:01:00 · 646 阅读 · 0 评论 -
MySQL 缓存 Query Cache
<br />QueryCache(下面简称QC)是根据SQL语句来cache的。一个SQL查询如果以select开头,那么MySQL服务器将尝试对其使 用QC。每个Cache都是以SQL文本作为key来存的。在应用QC之前,SQL文本不会被作任何处理。也就是说,两个SQL语句,只要相差哪怕是一个 字符(例如大小写不一样;多一个空格等),那么这两个SQL将使用不同的一个CACHE。<br />不过SQL文本有可能会被客户端做一些处理。例如在官方的命令行客户端里,在发送SQL给服务器之前,会做如下处理:<br转载 2010-11-11 10:22:00 · 518 阅读 · 0 评论 -
去除mysql 里不可见字符
工作中有一个中文字库表,是前辈从其他地方导入的。最近使用的时候发现有些词,比如“清白”,明明只有两个字,却只能用LIKE ‘%清白%’查出,直接=’清白’找不到。第一反应,前后可能有空格。于是在PHPMyadmin中用MySQL的trim函数过滤了一下update 字库 set Vocabulary = trim(Vocabulary)但返回的affected rows数居然是转载 2015-03-12 12:11:32 · 7406 阅读 · 0 评论