shell实例手册(7)

2019-02-15 14:13

mysql主从复制失败恢复{ slave stop; reset slave; change master to master_host='10.10.10.110',master_port=3306,master_user='repl',master_password='repl',master_log_file='master-bin.000010',master_log_pos=107,master_connect_retry=60; slave start; }

sql语句使用变量{

use xuesong;

set @a=concat('my',weekday(curdate())); # 组合时间变量

set @sql := concat('CREATE TABLE IF NOT EXISTS ',@a,'( id INT(11) NOT NULL )');

# 组合sql语句 select @sql; # 查看语句 prepare create_tb from @sql; # 准备 execute create_tb; # 执行 }

检测mysql主从复制延迟{ 1、在从库定时执行更新主库中的一个timeout数值 2、同时取出从库中的timeout值对比判断从库与主库的延迟 }

mysql慢查询{

开启慢查询日志{

log-slow-queries=/var/lib/mysql/slowquery.log # 指定日志文件存放位置,可以为空,系统会给一个缺省的文件host_name-slow.log long_query_time=2 # 记录超过的时间,默认为10s log-queries-not-using-indexes # log下来没有使用索引的query,可以根据情况决定是否开启 可不加 log-long-format # 如果设置了,所有没有使用索引的查询也将被记录 可不加 }

mysqldumpslow慢查询日志查看{ -s # 是order的顺序,包括看了代码,主要有 c,t,l,r和ac,at,al,ar,分别是按照query次数,时间,lock的时间和返回的记录数来排序,前面加了a的时倒序 -t # 是top n的意思,即为返回前面多少条的数据 -g # 后边可以写一个正则匹配模式,大小写不敏感的 mysqldumpslow -s c -t 20 host-slow.log # 访问次数最多的20个sql语句 mysqldumpslow -s r -t 20 host-slow.log # 返回记录集最多的20个sql mysqldumpslow -t 10 -s t -g \ # 按照时间返回前10条里面含有左连接的sql语句 show global status like '%slow%'; # 查看现在这个session有多少个慢查询 show variables like '%slow%'; # 查看慢查询日志是否开启,如果slow_query_log和log_slow_queries显示为on,说明服务器的慢查询日志已经开启 show variables like '%long%'; # 查看超时阀值 desc select * from wei where text='xishizhaohua'\\G; # 扫描整张表 tepe:ALL 没有使用索引 key:NULL create index text_index on wei(text); # 创建索引 } } } mongodb{ 一、启动{ # 不启动认证 ./mongod --port 27017 --fork --logpath=/opt/mongodb/mongodb.log --logappend --dbpath=/opt/mongodb/data/ # 启动认证 ./mongod --port 27017 --fork --logpath=/opt/mongodb/mongodb.log --logappend --dbpath=/opt/mongodb/data/ --auth # 配置文件方式启动 cat /opt/mongodb/mongodb.conf port=27017 # 端口号 fork=true # 以守护进程的方式运行,创建服务器进程 auth=true # 开启用户认证

logappend=true # 日志采用追加方式 logpath=/opt/mongodb/mongodb.log # 日志输出文件路径 dbpath=/opt/mongodb/data/ # 数据库路径 shardsvr=true # 设置是否分片 maxConns=600 # 数据库的最大连接数 ./mongod -f /opt/mongodb/mongodb.conf # 其他参数 bind_ip # 绑定IP 使用mongo登录需要指定对应IP journal # 开启日志功能,降低单机故障的恢复时间,取代dur参数 syncdelay # 系统同步刷新磁盘的时间,默认60秒 directoryperdb # 每个db单独存放目录,建议设置.与mysql独立表空间类似 repairpath # 执行repair时的临时目录.如果没开启journal,出现异常重启,必须执行repair操作 # mongodb没有参数设置内存大小.使用os mmap机制缓存数据文件,在数据量不超过内存的情况下,效率非常高.数据量超过系统可用内存会影响写入性能 } 二、关闭{ # 方法一:登录mongodb ./mongo use admin db.shutdownServer() # 方法:kill传递信号 两种皆可 kill -2 pid kill -15 pid }

三、开启认证与用户管理{ ./mongo # 先登录 use admin # 切换到admin库 db.addUser(\ # 创建用户 db.addUser('zhansan','pass',true) # 如果用户的readOnly为true那么这个用户只能读取数据,添加一个readOnly用户zhansan ./mongo 127.0.0.1:27017/mydb -uroot -p123456 # 再次登录,只能针对用户所在库登录 #虽然是超级管理员,但是admin不能直接登录其他数据库,否则报错 #Fri Nov 22 15:03:21.886 Error: 18 { code: 18, ok: 0.0, errmsg: \fails\} at src/mongo/shell/db.js:228

show collections # 查看链接状态 再次登录使用如下命令,显示错误未经授权 db.system.users.find(); # 查看创建用户信息 db.system.users.remove({user:\ # 删除用户

}

#恢复密码只需要重启mongodb 不加--auth参数

四、登录{ 192.168.1.5:28017 # http登录后可查看状态 ./mongo # 默认登录后打开 test 库 ./mongo 192.168.1.5:27017/databaseName # 直接连接某个库 不存在则创建 启动认证需要指定对应库才可登录 } 五、查看状态{

#登录后执行命令查看状态

db.runCommand({\

globalLock # 表示全局写入锁占用了服务器多少时间(微秒) mem # 包含服务器内存映射了多少数据,服务器进程的虚拟内存和常驻内存的占用情况(MB) indexCounters # 表示B树在磁盘检索(misses)和内存检索(hits)的次数.如果这两个比值开始上升,就要考虑添加内存了 backgroudFlushing # 表示后台做了多少次fsync以及用了多少时间 opcounters # 包含每种主要擦撞的次数 asserts # 统计了断言的次数 #状态信息从服务器启动开始计算,如果过大就会复位,发送复位,所有计数都会复位,asserts中的roolovers值增加 #mongodb自带的命令 ./mongostat insert #每秒插入量 query #每秒查询量 update #每秒更新量 delete #每秒删除量 locked #锁定量 qr|qw #客户端查询排队长度(读|写) ar|aw #活跃客户端量(读|写) conn #连接数

}

time #当前时间

六、常用命令{ db.listCommands() # 当前MongoDB支持的所有命令(同样可通过运行命令db.runCommand({\来查询所有命令)

db.runCommand({\ # 返回MongoDB服务器的版本号和服务器OS的相关信息。 db.runCommand({\: 集合名}) # 返回该集合的统计信息,包括数据大小,已分配存储空间大小,索引的大小等。 db.runCommand({\: 集合名, \: 键, \: 查询文档}) # 返回特定文档所有符合查询文档指定条件的文档的指定键的所有不同的值。 db.runCommand({\ # 清空当前数据库的信息,包括删除所有的集合和索引。 db.runCommand({\: 1}) # 检查本服务器是主服务器还是从服务器。 db.runCommand({\ # 检查服务器链接是否正常。即便服务器上锁,该命令也会立即返回。 db.runCommand({\: 1}) # 对当前数据库进行修复并压缩,如果数据库特别大,这个命令会非常耗时。 db.runCommand({\: 1}) # 查看这台服务器的管理统计信息。 # 某些命令必须在admin数据库下运行,如下两个命令: db.runCommand({\集合名, \:集合名}) # 对集合重命名,注意两个集合名都要是完整的集合命名空间,如foo.bar, 表示数据库foo下的集合bar。 db.runCommand({\: 1}) # 列出服务器上所有的数据库 } 七、进程控制{

db.currentOp() # 查看活动进程

db.$cmd.sys.inprog.findOne() # 查看活动进程 与上面一样 opid # 操作进程号 op # 操作类型(查询\\更新) ns # 命名空间,指操作的是哪个对象 query # 如果操作类型是查询,这里将显示具体的查询内容 lockType # 锁的类型,指明是读锁还是写锁 db.killOp(opid值) # 结束进程


shell实例手册(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:机务执照ME考试提纲

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: