mysqldumpslow日志分析
[zz]用mysqldumpslow分析mysql的slow query log2009-06-18 16:43一、mysqldumpslow官方文档:http://dev.mysql.com/doc/refman/5.1/en/mysqldumpslow.htmlshell> mysqldumpslow [options] [log_file ...]Table 4.12. mysqldumpslow Option ReferenceFormatConfig FileDescriptionIntroductionDeprecatedRemoved-aDo not abstract all numbers to N and strings to S-n numAbstract numbers with at least the specified digits--debugdebugWrite debugging information-g patternOnly consider statements that match the pattern--hel
mysql存储过程例子
------------------存储过程内绑定变量--------------------------delimiter //drop procedure testprocbind //create procedure testprocbind(in modnum int(11),in inbeginno int(11),in endno int(11),in obeginno int (11),in oendno int(11))begindeclare b int(11);declare c int(11);declare d int(11);declare sj int(11);declare stmt varchar(2000);set @c=1;set d=endno-inbeginno+1;call productmetadatao(modnum,obeginno,oendno,inbeginno);insert into test.tmp_rosterusers select * from test.tmp_friend;while (@c <
mysql去除某些字段重复的纪录
delete gweb_operation_apply as a from gweb_operation_apply as a ,(select *,min(apply_aiid) from gweb_operation_apply where apply_time >= date_add(curdate(),interval -1 day) group by user_id_number,user_moblie) bwhere a.apply_time >= date_add(curdate(),interval -1 day) and a.user_id_number = b.user_id_numberand a.apply_aiid > b.apply_aiid[@more@]
crontab不执行mysql的脚本问题的解决!
cat /root/myadmin/test.sh#!/bin/shPATH=/usr/local/service/mysql-3306/bin:$PATHexport PATHecho "test test createuid" ginftool="/usr/local/service/mysql-3306/bin/mysql --socket=/usr/local/service/mysql-3306/mysql.sock --database=ginf_db"$ginftool -e "select now();"echo "end"放在crontab里发现不能里面的sql语句,但是在命令行下直接执行是没问题的!是怎么回事呢?到/var/mail下查看 tail -n 20 root,发现:test test createuid/usr/local/service/mysql-3306/bin/mysql: err
perl调用存储过程
PERL DB中的使用说明: --一般调用方式: $csr = $db->prepare(q{ BEGIN PLSQL_EXAMPLE.PROC_NP; END; }); $csr->execute; --带传入参数的调用 my $err_code = -20001; $csr = $db->prepare(q{ BEGIN PLSQL_EXAMPLE.PROC_IN(:err_code); END; }); $csr->bind_param(":err_code", $err_code); eval { $csr->execute; }; --带传入,输出参数的调用 my $test_num = 5; my $is_odd; $csr = $db->prepare(q{ BEGIN PLSQL_EXAMPLE.PROC_IN_INOUT(:test_num, :is_odd); END; }); # The value of $test_num is _copied_
perl 编译问题!
DBI:1.604DBD::mysql:4.006安装这2个版本的dbi和dbd,perl能编译![@more@]
Mysql的error while loading shared libraries解决方法
找不到mysql的动态链接库,解决方法更新动态链接库文件如下编辑/etc/profile加入export MYSQL_PATH=/usr/local/mysql在shell下执行#echo '$MYSQL_PATH/lib/mysql' >> /etc/ld.so.conf#ldconfig将 libmysqlclient_r.so.16 和 libmysqlclient_r.so.16 拷贝到 /usr/lib下,然后ldconfig[@more@]
数据升级到5.1所遇到的问题
这回数据库升级遇到了一下问题:我们的数据库原来是mysql3.23.58想升级到5.1,因为这是大版本的升级,不能使用tar之类的来移植,所以只能用mysqldump来做,但出现了下面的问题一. 字符集问题由于3.23还不能设置表的字符集,但是升级到5.1要设为utf8,我用mysqldump导出数据后倒入,发现数据为乱码,找了很多资料发现要什么icov来转换什么的,后来发现需要设置几个参数就可以,参数如下:mysql服务器启动时需要设置utf8的环境my.inf[client]default-character-set=utf8[mysqld]default-character-set=utf8default-collation=utf8_general_c
mysql类似merge的操作
mysql> truncate `200702`;Query OK, 0 rows affected (0.01 sec)mysql> select * from `200702`;Empty set (0.01 sec)mysql> insert into `200702` (`domain`, `2nd_domain`, `tld`, `query_ns1`, `query_ns2`, `report_date`) values ('dnspod.com', 'dnspod', 'com', 1000, 2000, '2007-02-04') ON DUPLICATE KEY UPDATE `query_ns1` = `query_ns1` + 1000, `query_ns2` = `query_ns2` + 2000;Query OK, 1 row affected (0.00 sec)mysql> select * from `200702`;+----+------------+------------+------+-----------+----
Mysql cluster slave server的自动检测与修复
http://www.muduo.net/index.php/uid-8974-action-viewspace-itemid-1413[@more@]
mysql,出现同步停止的错误的处理
因 'Duplicate entry' 或 非正常关闭mysql, 出现同步停止的错误时,可执行下列命令跳过错误log,从错误log下一条继续同步:mysql> SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;mysql> slave start;非正常关闭mysql而导致的错误log 应该不会太多(有次我手动恢复了8条左右)'Duplicate entry' 就要视情况而定了,如果错误log 很多,只能通过停mysql,加 --slave-skip-errors=1062 后重启如果一个语句在master上成功了,但是在slave上却失败了,并且这时不能做一次完整的数据库再同步(也就是删除slave上的数据,重新拷贝master的快照),那么试一下:
memcached安装
memcached安装关键字: memcached安装 memcached安装1. 下载, memcached需要先安装libeventmemcached的下载地址:http://danga.com/memcached/download.bmllibevent的下载地址 :http://www.monkey.org/~provos/libevent/2. 安装libeventjava 代码# tar xzvf libevent-1.3c.tar.gz # cd libevent-1.3c # ./configure --prefix=/home/mahaibo/install # make # make install 检查是否安装成功:#cd /home/mahaibo/install/lib如果有libevent-1.3c.so.1 libevent-1.3c.so.1.0.3 libevent.a libevent.la libevent.so这几个文
编译c程序时找不到libmysqlclient.so.10的解决办法
以前安装mysql5都没出现问题,今天安装mysql3.23 client,c程序编译的时候出现了这个问题:'libmysqlclient.so.10: cannot open shared object file: No such file or directory'这个是找不到这个libmysqlclient.so.10,我看了一下/usr/lib下的确没有这个,原来3.23和5不一样,在/usr/lib下还有个mysql的目录,这下面有这个libmysqlclient.so.10,然后将它拷贝到/usr/lib下,问题解决!![@more@]
mysql测试shell
a=0echo $a#while truewhile [ $a -lt 1001 ]doecho $amysql pica_coredb<<! #insert into #insert into #insert into exit!a=`expr $a + 1`if [ $a -gt 2000 ] then exitfi[@more@]
MySQL优化经验
MySQL优化经验Wikipedia,自由的百科全书同时在线访问量继续增大 对于1G内存的服务器明显感觉到吃力严重时甚至每天都会死机 或者时不时的服务器卡一下 这个问题曾经困扰了我半个多月MySQL使用是很具伸缩性的算法,因此你通常能用很少的内存运行或给MySQL更多的被存以得到更好的性能。 安装好mysql后,配制文件应该在/usr/local/mysql/share/mysql目录中,配制文件有几个,有my-huge.cnf my-medium.cnf my-large.cnf my-small.cnf,不同的流量的网站和不同配制的服务器环境,当然需要有不同的配制文件了。 一般的情况下,my-medium.cnf这个配
mysql原码安装(server和client)
CFLAGS="-O3 -mpentiumpro" CXX=gcc CXXFLAGS="-O3 -mpentiumpro -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --sysconfdir=/etc --with-unix-socket-path=/var/run/mysql/mysql.sock --enable-thread-safe-client --with-named-thread-libs=-lpthread --enable-local-infile --with-charset=utf8 --with-extra-charsets=utf8 --enable-assembler --with-plugin-partition --without-ndb-debug --without-debug --without-bench --without-readline --libdir=/usr/lib -
mysql锁机制
7.3 锁7.3.1 锁机制当前MySQL已经支持 ISAM, MyISAM, MEMORY (HEAP) 类型表的表级锁了,BDB 表支持页级锁,InnoDB 表支持行级锁。很多时候,可以通过经验来猜测什么样的锁对应用程序更合适,不过通常很难说一个锁比别的更好,这全都要依据应用程序来决定,不同的地方可能需要不同的锁。想要决定是否需要采用一个支持行级锁的存储引擎,就要看看应用程序都要做什么,其中的查询、更新语句是怎么用的。例如,很多的web应用程序大量的做查询,很少删除,主要是基于索引的更新,只往特定的表中插入记录。采用基本的MySQL MyISAM 表就很合适了。
mysql安装-cluster
rpm -ef mysql-4.1.12-3.RHEL4.1 freeradius-mysql-1.0.1-3.RHEL4.i386 mysql-devel-4.1.12-3.RHEL4.1.i386 mysql-server-4.1.12-3.RHEL4.1.i386 mysql-bench-4.1.12-3.RHEL4.1.i386 mysql-server-4.1.12-3.RHEL4.1.i386 freeradius-mysql-1.0.1-3.RHEL4.i386 mysql-server-4.1.12-3.RHEL4.1.i386 perl-DBD-MySQL-2.9004-3.1.i386 dovecot-0.99.11-2.EL4.1.i386 cyrus-sasl-sql-2.1.19-5.EL4.i386 php-mysql-4.3.9-3.8.i386 mod_auth_mysql-2.6.1-2.2.i386 mysqlclient10-3.23.58-4.RHEL4.1 mysqlclient10-devel-3.23.58-4.RHEL4.1.i386
iconv 转换字符集
旧数据升级办法 以原来的字符集为latin1为例,升级成为utf8的字符集。原来的表: old_table (default charset=latin1),新表:new_table(default charset=utf。 第一步:导出旧数据 mysqldump --default-character-set=latin1 -hlocalhost -uroot -B my_db --tables old_table > old.sql 第二步:转换编码 iconv -t utf-8 -f gb2312 -c old.sql > new.sql 在这里,假定原来的数据默认是gb2312编码。 第三步:导入 修改old.sql,增加一条sql语句: "SET NAMES utf8;",保存。 mysql -hlocalhost -uroot my_db < new.sql
mysql升级
http://www.linuxgo.org/linux/database/mysql/070228/684.htmlhttp://wangbinblog.bokee.com/2185576.htmlhttp://www.me94me.com/blog/post/47.html (升级授权表的问题)http://xn--yetq15clg1a.com/bnsj/24252.html[@more@]