Chinaunix首页 | 论坛 | 博客
  • 博客访问: 267239
  • 博文数量: 30
  • 博客积分: 608
  • 博客等级: 中士
  • 技术积分: 370
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-14 23:01
个人简介

++++++++++++++++++

文章分类

全部博文(30)

文章存档

2013年(2)

2012年(2)

2011年(26)

分类: Mysql/postgreSQL

2011-05-06 11:16:29

1:mysql的配置文件
mysql启动时候会寻找my.cnf配置文件,默认顺序如下/etc/my.cnf,~/my.cnf,/usr/etc/my.cnf,如果想自定义my.cnf,不适用默认位置配置文件 --no-default 可以用--default-file=
 
2:mysql的几个参数解释
   innodb_flush_log_at_trx_commit  1 表示innodb支持事务
   slave_compressed_protocol off/on 表示slave复制是是否支持数据压缩
 
3:mysql的管理工具
   maatkit,nagios,cacti,vmstat,systemtap,sar,oprofile
 
4:mysql的perl,python连接接口,驱动perl-DBI,perl-DBD-mysql
   当mysql client需要连接服务器时,比如安装一些有perl,python写的管理工具,如maatkit,这个管理工具需要连接数据库,这是需要安装类如perl-DBI(perl database interface),这是perl连接mysql的接口,要实现能连接这个接口就需要安装接口的驱动perl-DBD-mysql(perl database drive mysql),安装过程都比较简单
   1:perl  Makefie.pl (在安装DBD是可能需要mysql_config这个工具,提示没有,通过安装mysql-                         devel即可解决)
   2:make install
 
5:当对数据库操作时,会在当前用户的家目录下创建一个隐藏文件  .mysql_history ,这个文件记录路登入数据库后的所有操作,但是不会记录登录信息(mysql -uredhat -predhat),这样可能有一定的风险,你可以通过软连接的形式除去mysql的历史操作记录  ln -s /dev/null $HOME/.mysql_history
 
6:mysql的两种模式interactive(登录数据库交互)  batch(不登入数据库通过-e选项在shell环境下内容输出到标准输出) mysql -uroot -predhat -H/X -e ‘select user,host,password from mysql.user;’ > mysql.html/mysql.xml 这时候生成的两个文件分别是html,xml格式,可以通过浏览器查看 phpmyadmin
  
7:创建索引 CREATE INDEX db_name ON table_name (list_of_column)  例如: CREATE INDEX salaries ON slary (slary);
 
8:mysql术语
OLTP 联机事务处理系统
 
9:mysql的逻辑架构(来自网络)
 
 
9:忘记数据库root密码解决方法
1:killall -TERM mysqld
2:/etc/init.d/mysqld_safe start --skip-grant-tables &  \\跳过授权表启动,必须用mysqld_safe启动
                                                         不能用mysqld启动(启动无效)
 
10:在日志中出现“Some nontransational changed tables couldn't rolled back”
AN:说明此应用用了混合表(包括事务性和非事务性存储引擎),在事务性表回滚的时候,非事务性的表无法回滚
 
 
11:mysql的两个层面
1:mysql层
2:存储引擎层
 
12:myisam表修复
可能出现需要修复的情况就是用delay_key_write,又遇到mysql宕机,索引信息没有从内存中刷新到数据文件中
1:在mysql命令行下,执行check table tbl_name或者repair table tbl_name
2:在服务器离线的情况下可以用myisamcheck,myisamcheck几乎可以修复任何错误,除了索引唯一性的问题
3:myisamchk还可以优化索引结构,等同于optizime table tbl_name优化索引结构
推荐:(以下内容来自百度文库)
发生场景集对应策略:
阶段一:简单的恢复
myisamchk -e(extend) -s(slient) *.MYI 检查全部myisam表,找出报错的表, 进入阶段二
阶段二:简单安全的恢复
myisamchk -r -q tbl_name,在继续前做一个数据文件的备份
如果前面的命令失败
myisamchk -safe-recover tbl_name
如果在检查过程中遇到(out of memory)或者myisamchk崩溃,进入阶段三
阶段三:困难修复
如果索引文件的第一个16K被损坏,或包含不正确的信息或者索引文件丢失,只有进入这个阶段,在这种情况下,创建一个新的索引文件是必要的,把数据文件移动到安全的地方
使用表描述文件创建新的(空)数据和索引文件
shell > mysql db_name
mysql > delete from tbl_name
mysql > quit
将老的数据文件拷贝到新创建的数据文件夹中以备份
然后回到阶段二
myisamchk -r -q
阶段四非常困难的修复
表的描述文件被损坏,这个该很少发生,因为在表创建的时候,表文件的描述文件已经创建,这个就需要从备份中恢复
然后执行阶段二 myisamchk -r -q tbl_name
 
 
13:查看mysql当前状态打开的文件
lsof | egrep -i 'myd|myi' | awk '{++state[$NF]} END {for(key in state) print state[key], "\t", key}' | sort -nr
 
 
14:table_cache设置方法
 
15:myisam的全文索引
全文索引只能健在char,varchar,fulltext列上????
 
16:疑问mysql的复制(即mysql的master slave)和合并表
 
 
17:alter 可以改变表的引擎,但是在转换过程中会占用大量的I/O,转换过程需要经历旧表到新表的逐行复制
alter table  tbl_name engine=innodb
 
18:查看mysql服务器的运行状态信息可以
mysql > show status;
shell > mysqladmin -uroot -p extended -r -i 10 \\周期行的查看服务器的运行状态,可以做监控用

19:索引建立的原则

小,简单,合适的数据类型,避免null


 
阅读(2031) | 评论(0) | 转发(0) |
0

上一篇:RPC漏洞

下一篇:visudo

给主人留下些什么吧!~~