mysql中21个常用操作分享-成都快上网建站

mysql中21个常用操作分享

这篇文章主要讲解了“MySQL中21个常用操作分享”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“mysql中21个常用操作分享”吧!

成都创新互联公司-专业网站定制、快速模板网站建设、高性价比苏尼特左网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式苏尼特左网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖苏尼特左地区。费用合理售后完善,10年实体公司更值得信赖。

创建service脚本
#cp /usr/local/src/software/mysql-5.1.38/support-files/mysql.server /etc/init.d/mysqld
#chmod 755 /etc/init.d/mysqld

//vim /etc/rc.d/init.d/mysqld #datadir=/mysqldata/
#chkconfig --add mysqld
#chkconfig mysqld on
#service mysqld restart

1. 开启慢查询

set global long_query_time=2;
set global slow_query_log='ON';

2. mysql同步跳过错误语句

发现mysql slave服务器经常因为一些特殊字符或者符号产生的更新语句报错,整个同步也会因此而卡在那,执行下面三条sql语句,跳过错误即可。

stop slave;
set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
start slave;
 

3. mysql忽略指定类型错误

在my.cnf的[mysqld]下面加入了一行
slave-skip-errors = 1062 (忽略所有的1062错误)
#slave-skip-errors=1062,1053
#slave-skip-errors=all

4. 错误日志

vi /var/log/mysqld.log

5. 批量替换字符串中的关键字

UPDATE BBSTopic SET tcontents = replace(replace(tcontents,'GCD','') ,'找死','') where tcontents like '%GCD%' or tcontents like '%找死%' ;

6. 随机查询

测试时在select 中增加rand()*min(id), 实现随机查询。 用order by rand() limit 3的效率会很低

7. 修改密码

mysql>set password for root=password("root");

8.分组求最大值

select hh.id,hh.name,hh.record from test as hh where hh.record = (select max(record) from test  where name=hh.name)

9. 修复并优化所有数据
http://blog.csdn.net/doney_dongxiang/archive/2009/11/26/4878415.aspx

10. 具有负载均衡功能的MYSQL服务器集群部署及实现
 

http://www.cnblogs.com/runfeng/archive/2011/04/26/2028924.html

11. 查看和清理binlog
mysql > show binary logs;
mysql > purge binary logs to 'mysqld-bin.000007';

12. API

mysql_data_seek()//移动内部返回的列指针到指定的 row_number 

13.  导出msyql的操作记录

mysql>  pager cat > /tmp/t1.txt ;
mysql> PAGER set to 'cat > /tmp/t1.txt' ; 
mysql>  select 1;\! cat /tmp/t1.txt

14. mysql中得到记录行号

set @mycnt = 0;
select (@mycnt := @mycnt + 1) as ROWNUM , othercol from tblname order by othercol;
select (@mycnt := @mycnt + 1) as ROWNUM, id,name from b,(SELECT @mycnt:=0) cc;
Select UID,(@rowNum:=@rowNum+1) as rowNo From a, (Select (@rowNum :=0) ) b Order by a.Money Desc;

15. purge

mysql> help purge
Name: 'PURGE MASTER LOGS'
Description:
Syntax:
PURGE {MASTER | BINARY} LOGS TO 'log_name'
PURGE {MASTER | BINARY} LOGS BEFORE 'date'
Deletes all the binary logs listed in the log index prior to the
specified log or date. The logs also are removed from the list recorded
in the log index file, so that the given log becomes the first.
This statement has no effect if the --log-bin option has not been
enabled.
URL: http://dev.mysql.com/doc/refman/5.0/en/purge-master-logs.html
Examples:
PURGE MASTER LOGS TO 'mysql-bin.010';
PURGE MASTER LOGS BEFORE '2003-04-02 22:46:26';

16. 导数据,用指定分隔符分开列

mysql > select id ,name,uid from a_result_user where  id >= '20101111'  into outfile '/tmp/a_result_user' FIELDS TERMINATED BY ','ENCLOSED BY '"' LINES TERMINATED BY '\n';
# 请注意如果用Windows中的编辑器(使用\r\n做为行的结束符)创建文件,应使用:
mysql> LOAD DATA LOCAL INFILE '/path/pet.txt' INTO TABLE pet LINES TERMINATED BY '\r\n';
# 如果你愿意,你能明确地在LOAD DATA语句中指出列值的分隔符和行尾标记,但是默认标记是定位符和换行符

17. SHOW BINLOG EVENTS

SHOW BINLOG EVENTS   [IN 'log_name'] [FROM pos] [LIMIT [offset,] row_count] 

用于在二进制日志中显示事件。如果您不指定'log_name',则显示第一个二进制日志

18. myisamchk

myisamchk --recover *.MYI 要在表未被更新时,同mysql> OPTIMIZE 
注意: 需要有足够的剩余硬盘空间,还要记得事后mysql> flush tables;

19. mysqlcheck
检查、修复、分析以及优化表的表维护客户程序。参见8.7节,“mysqlcheck:表维护和维修程序”。

20. OPTIMIZE [LOCAL | NO_WRITE_TO_BINLOG] TABLE tbl_name [, tbl_name] ...

如果您已经删除了表的一大部分,或者如果您已经对含有可变长度行的表(含有VARCHAR, BLOB或TEXT列的表)进行了很多更改,则应使用OPTIMIZE TABLE。被删除的记录被保持在链接清单中,后续的INSERT操作会重新使用旧的记录位置。您可以使用OPTIMIZE TABLE来重新利用未使用的空间,并整理数据文件的碎片。

在多数的设置中,您根本不需要运行OPTIMIZE TABLE。即使您对可变长度的行进行了大量的更新,您也不需要经常运行,每周一次或每月一次即可,只对特定的表运行。

注意,在OPTIMIZE TABLE运行过程中,MySQL会锁定表。OPTIMIZE TABLE语句被写入到二进制日志中,除非使用了自选的NO_WRITE_TO_BINLOG关键词(或其别名LOCAL)。已经这么做了,因此,用于MySQL服务器的OPTIMIZE TABLE命令的作用相当于一个复制主服务器,在默认情况下,这些命令将被复制到复制从属服务器中。

21.  int(M)在 integer 数据类型中,M 表示最大显示宽度

在 int(M) 中,M 的值跟 int(M) 所占多少存储空间并无任何关系。 int(3)、int(4)、int(8) 在磁盘上都是占用 4 btyes 的存储空间。即除了显示时的效果有点不同外,int(M) 跟 int 数据类型是相同的。
如果int的值为10:int(10)显示结果为0000000010; int(3)显示结果为010。
就是显示的长度不一样而已,都是占用四个字节的空间。

感谢各位的阅读,以上就是“mysql中21个常用操作分享”的内容了,经过本文的学习后,相信大家对mysql中21个常用操作分享这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!


文章题目:mysql中21个常用操作分享
路径分享:http://kswjz.com/article/jccsdg.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流