范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

建议收藏!Linux运维必备之nginxmysqlesmongodb实用笔记

  nginx{          yum install -y make gcc  openssl-devel pcre-devel  bzip2-devel libxml2 libxml2-devel curl-devel libmcrypt-devel libjpeg libjpeg-devel libpng libpng-devel openssl          groupadd nginx         useradd nginx -g nginx -M -s /sbin/nologin          mkdir -p /opt/nginx-tmp          wget http://labs.frickle.com/files/ngx_cache_purge-1.6.tar.gz         tar fxz ngx_cache_purge-1.6.tar.gz         # ngx_cache_purge 清除指定url缓存         # 假设一个URL为 http://192.168.12.133/test.txt         # 通过访问      http://192.168.12.133/purge/test.txt  就可以清除该URL的缓存。          tar zxvpf nginx-1.4.4.tar.gz         cd nginx-1.4.4          # ./configure --help         # --with                 # 默认不加载 需指定编译此参数才使用         # --without              # 默认加载,可用此参数禁用         # --add-module=path      # 添加模块的路径         # --add-module=/opt/ngx_module_upstream_check          # nginx 代理状态页面         # ngx_module_upstream_check  编译前需要打对应版本补丁 patch -p1 < /opt/nginx_upstream_check_module/check_1.2.6+.patch         # --add-module=/opt/ngx_module_memc                    # 将请求页面数据存放在 memcached中         # --add-module=/opt/ngx_module_lua                     # 支持lua脚本 yum install lua-devel lua          ./configure          --user=nginx          --group=nginx          --prefix=/usr/local/nginx          --with-http_ssl_module          --with-http_realip_module          --with-http_gzip_static_module          --with-http_stub_status_module          --add-module=/opt/ngx_cache_purge-1.6          --http-client-body-temp-path=/opt/nginx-tmp/client          --http-proxy-temp-path=/opt/nginx-tmp/proxy          --http-fastcgi-temp-path=/opt/nginx-tmp/fastcgi          --http-uwsgi-temp-path=/opt/nginx-tmp/uwsgi          --http-scgi-temp-path=/opt/nginx-tmp/scgi          make && make install          /usr/local/nginx/sbin/nginx –t             # 检查Nginx配置文件 但并不执行         /usr/local/nginx/sbin/nginx -t -c /opt/nginx/conf/nginx.conf  # 检查Nginx配置文件         /usr/local/nginx/sbin/nginx                # 启动nginx         /usr/local/nginx/sbin/nginx -s reload      # 重载配置         /usr/local/nginx/sbin/nginx -s stop        # 关闭nginx服务      }
  elasticsearch{          vim /etc/sysctl.conf         vm.max_map_count = 262144          vim /etc/security/limits.conf         * soft memlock unlimited         * hard memlock unlimited         sysctl -p          curl "localhost:9200/_cat/health?v"                    # 健康检查         curl "localhost:9200/_cat/nodes?v"                     # 获取集群的节点列表         curl "localhost:9200/_cat/indices?v"                   # 列出所有索引         curl 127.0.0.1:9200/indexname -XDELETE                 # 删除索引         curl -XGET http://localhost:9200/_cat/shards           # 查看分片         curl "127.0.0.1:9200/_cat/indices"                     # 查分片同步  unassigned_shards  # 没同步完成      }      mysql常用命令{          # mysql 可视化工具 MySQL Workbench          mysqlcheck -uroot -p -S mysql.sock --optimize --databases account       # 检查、修复、优化MyISAM表         mysqlbinlog slave-relay-bin.000001              # 查看二进制日志         mysqladmin -h myhost -u root -p create dbname   # 创建数据库          flush privileges;             # 刷新         show databases;               # 显示所有数据库         use dbname;                   # 打开数据库         show tables;                  # 显示选中数据库中所有的表         desc tables;                  # 查看表结构         drop database name;           # 删除数据库         drop table name;              # 删除表         create database name;         # 创建数据库         select column from table;     # 查询         show processlist;             # 查看mysql进程         show full processlist;        # 显示进程全的语句         select user();                # 查看所有用户         show slave statusG;          # 查看主从状态         show variables;               # 查看所有参数变量         show status;                  # 运行状态         show table status             # 查看表的引擎状态         show grants for user@"%"                                    # 查看用户权限         drop table if exists user                                   # 表存在就删除         create table if not exists user                             # 表不存在就创建         select host,user,password from user;                        # 查询用户权限 先use mysql         create table ka(ka_id varchar(6),qianshu int);              # 创建表         show variables like "character_set_%";                      # 查看系统的字符集和排序方式的设定         show variables like "%timeout%";                            # 查看超时相关参数         delete from user where user="";                             # 删除空用户         delete from user where user="sss" and host="localhost" ;    # 删除用户         drop user "sss"@"localhost";                                # 使用此方法删除用户更为靠谱         ALTER TABLE mytable ENGINE = MyISAM ;                       # 改变现有的表使用的存储引擎         SHOW TABLE STATUS from  dbname  where Name="tablename";     # 查询表引擎         mysql -uroot -p -A -ss -h10.10.10.5 -e "show databases;"    # shell中获取数据不带表格 -ss参数         CREATE TABLE innodb (id int, title char(20)) ENGINE = INNODB                     # 创建表指定存储引擎的类型(MyISAM或INNODB)         grant replication slave on *.* to "user"@"%" identified by "pwd";                # 创建主从复制用户         ALTER TABLE player ADD INDEX weekcredit_faction_index (weekcredit, faction);     # 添加索引         alter table name add column accountid(column)  int(11) NOT NULL(column);         # 插入字段         update host set monitor_state="Y",hostname="xuesong" where ip="192.168.1.1";     # 更新数据         select * from information_schema.processlist where command!="sleep";             # 查看当前进程         select * from atable where name="on" AND t<15 AND host LIKE "10%" limit 1,10;    # 多条件查询         show create database ops_deploy;                                                 # 查看数据库编码         show create table updatelog;                                                     # 查看数据库表编码         alter database ops_deploy CHARACTER SET utf8;                                    # 修改数据库编码         alter table `updatelog` default character set utf8;                              # 修改表编码         alter table `updatelog` convert to character set utf8;                           # 修改一张表的所有字段的编码格式          自增表{              create table xuesong  (id INTEGER  PRIMARY KEY AUTO_INCREMENT, name CHAR(30) NOT NULL, age integer , sex CHAR(15) );  # 创建自增表             insert into xuesong(name,age,sex) values(%s,%s,%s)  # 自增插入数据          }          登录mysql的命令{              # 格式: mysql -h 主机地址 -u 用户名 -p 用户密码             mysql -h110.110.110.110 -P3306 -uroot -p             mysql -uroot -p -S /data1/mysql5/data/mysql.sock -A  --default-character-set=GBK          }          shell执行mysql命令{              mysql -u root -p"123" xuesong < file.sql   # 针对指定库执行sql文件中的语句,好处不需要转义特殊符号,一条语句可以换行.不指定库执行时语句中需要先use             mysql -u$username -p$passwd -h$dbhost -P$dbport -A -e "             use $dbname;             delete from data where date=("$date1");             "    # 执行多条mysql命令             mysql -uroot -p -S mysql.sock -e "use db;alter table gift add column accountid  int(11) NOT NULL;flush privileges;"  2>&1 |grep -v Warning    # 不登陆mysql插入字段          }           mysql字符集相关{              show variables like "%character%";      # 查看数据库中设置字符集的参数             # character_set_client、character_set_connection 以及 character_set_results 这几个参数都是客户端的设置             # character_set_system、character_set_server 以及 character_set_database 是指服务器端的设置。             # 而对于这三个服务器端的参数来说的优先级是:             # 列级字符集 > 表级字符集 > character_set_database > character_set_server > character_set_system              show global variables like "%char%";                                 #查看RDS实例字符集相关参数设置             show global variables like "coll%";                                  #查看当前会话字符序相关参数设置             show character set;                                                  #查看实例支持的字符集             show collation;                                                      #查看实例支持的字符序             show create table table_name G                                      #查看表字符集设置             show create database database_name G                                #查看数据库字符集设置             show create procedure procedure_name G                              #查看存储过程字符集设置             show procedure status G                                             #查看存储过程字符集设置             alter database db_name default charset utf8;                         #修改数据库的字符集              create database db_name character set utf8;                          #创建数据库时指定字符集             alter table tab_name default charset utf8 collate utf8_general_ci;   #修改表字符集和字符序              # 下面三条sql 分别将库 dbsdq , 表 tt2 , 表 tt2 中的 c2 列修改为utf8mb4 字符集             alter database dbsdq character set utf8mb4 collate utf8mb4_unicode_ci;             use dbsdq;             alter table tt2 character set utf8mb4 collate utf8mb4_unicode_ci;             alter table tt2 modify c2  varchar(10) character set utf8mb4;             # 修改列时,当前列中的所有行都会立即转化为新的字符集;             # alter table 会对表加元数据锁          }          备份数据库{              mysqldump -h host -u root -p --default-character-set=utf8 dbname >dbname_backup.sql               # 不包括库名,还原需先创建库,在use             mysqldump -h host -u root -p --database --default-character-set=utf8 dbname >dbname_backup.sql    # 包括库名,还原不需要创建库             /bin/mysqlhotcopy -u root -p    # mysqlhotcopy只能备份MyISAM引擎             mysqldump -u root -p -S mysql.sock --default-character-set=utf8 dbname table1 table2  > /data/db.sql    # 备份表             mysqldump -uroot -p123  -d database > database.sql    # 备份数据库结构              # 最小权限备份             grant select on db_name.* to dbbackup@"localhost" Identified by "passwd";             # --single-transaction  InnoDB有时间戳 只备份开始那一刻的数据,备份过程中的数据不会备份             mysqldump -hlocalhost -P 3306 -u dbbackup --single-transaction  -p"passwd" --database dbname >dbname.sql              # xtrabackup备份需单独安装软件 优点: 速度快,压力小,可直接恢复主从复制             innobackupex --user=root --password="" --defaults-file=/data/mysql5/data/my_3306.cnf --socket=/data/mysql5/data/mysql.sock --slave-info --stream=tar --tmpdir=/data/dbbackup/temp /data/dbbackup/ 2>/data/dbbackup/dbbackup.log | gzip 1>/data/dbbackup/db50.tar.gz          }          还原数据库{              mysql -h host -u root -p dbname < dbname_backup.sql             source 路径.sql   # 登陆mysql后还原sql文件          }          赋权限{              # 指定IP: $IP  本机: localhost   所有IP地址: %   # 通常指定多条             grant all on zabbix.* to user@"$IP";             # 对现有账号赋予权限             grant select on database.* to user@"%" Identified by "passwd";     # 赋予查询权限(没有用户,直接创建)             grant all privileges on database.* to user@"$IP" identified by "passwd";         # 赋予指定IP指定用户所有权限(不允许对当前库给其他用户赋权限)             grant all privileges on database.* to user@"localhost" identified by "passwd" with grant option;   # 赋予本机指定用户所有权限(允许对当前库给其他用户赋权限)             grant select, insert, update, delete on database.* to user@"ip"identified by "passwd";   # 开放管理操作指令             revoke all on *.* from user@localhost;     # 回收权限             GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, EXECUTE, CREATE ROUTINE, ALTER ROUTINE ON `storemisc_dev`.* TO "user"@"192.168.%"          }          更改密码{              update user set password=password("passwd") where user="root"             mysqladmin -u root password "xuesong"          }          mysql忘记密码后重置{              cd /data/mysql5             /data/mysql5/bin/mysqld_safe --user=mysql --skip-grant-tables --skip-networking &             use mysql;             update user set password=password("123123") where user="root";          }          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值对比判断从库与主库的延迟          }          死锁{              show OPEN TABLES where In_use > 0;                  # 查看当前锁信息             show variables like "innodb_print_all_deadlocks";   # 查看当前死锁参数             set global innodb_print_all_deadlocks = 1;          # 设置死锁信息保存到错误日志             innodb_print_all_deadlocks = 1                      # conf配置          }          mysql慢查询{              select * from information_schema.processlist where command in ("Query") and time >5G      # 查询操作大于5S的进程              开启慢查询日志{                  # 配置文件 /etc/my.conf                 [mysqld]                 log-slow-queries=/var/lib/mysql/slowquery.log         # 指定日志文件存放位置,可以为空,系统会给一个缺省的文件host_name-slow.log                 long_query_time=5                                     # 记录超过的时间,默认为10s 建议0.5S                 log-queries-not-using-indexes                         # log下来没有使用索引的query,可以根据情况决定是否开启  可不加                 log-long-format                                       # 如果设置了,所有没有使用索引的查询也将被记录    可不加                 # 直接修改生效                 show variables like "%slow%";                         # 查看慢查询状态                 set global slow_query_log="ON";                       # 开启慢查询日志 变量可能不同,看上句查询出来的变量              }              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 "left join" host-slow.log # 按照时间返回前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);                 # 创建索引              }              Percona Toolkit 慢日志分析工具          }          mysql操作次数查询{              select * from information_schema.global_status;              com_select             com_delete             com_insert             com_update          }      }      mongodb{          # mongo可视管理工具 studio 3t            一、启动{              # 不启动认证             ./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("root","123456")                     # 创建用户             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: "auth fails" } at src/mongo/shell/db.js:228             show collections                                # 查看链接状态 再次登录使用如下命令,显示错误未经授权             db.system.users.find();                         # 查看创建用户信息             db.system.users.remove({user:"zhansan"})        # 删除用户              #恢复密码只需要重启mongodb 不加--auth参数          }          四、登录{              192.168.1.5:28017      # http登录后可查看状态             mongo                  # 默认登录后打开 test 库             mongo 192.168.1.5:27017/databaseName      # 直接连接某个库 不存在则创建  启动认证需要指定对应库才可登录          }          五、查看状态{              #登录后执行命令查看状态             db.runCommand({"serverStatus":1})                 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       #当前时间              mongostat -h 127.0.0.1 --port 27047 --authenticationDatabase admin -u zadmin -p Keaphh9e    # 查看mongo状态             mongotop  -h 127.0.0.1 --port 27047 --authenticationDatabase admin -u zadmin -p Keaphh9e    # 查看mongo集合的统计数据          }          六、常用命令{              db.listCommands()     # 当前MongoDB支持的所有命令(同样可通过运行命令db.runCommand({"listCommands" : `1})来查询所有命令)              db.runCommand({"buildInfo" : 1})                                  # 返回MongoDB服务器的版本号和服务器OS的相关信息             db.runCommand({"collStats" : tablename})                          # 返回该集合的统计信息,包括数据大小,已分配存储空间大小,索引的大小等             db.runCommand({"dropDatabase" : 1})                               # 清空当前数据库的信息,包括删除所有的集合和索引             db.runCommand({"isMaster" : 1})                                   # 检查本服务器是主服务器还是从服务器             db.runCommand({"ping" : 1})                                       # 检查服务器链接是否正常。即便服务器上锁,该命令也会立即返回             db.runCommand({"repaireDatabase" : 1})                            # 对当前数据库进行修复并压缩,如果数据库特别大,这个命令会非常耗时             db.runCommand({"serverStatus" : 1})                               # 查看这台服务器的管理统计信息             # 某些命令必须在admin数据库下运行,如下两个命令:             db.runCommand({"renameCollection" : 集合名, "to":集合名})          # 对集合重命名,注意两个集合名都要是完整的集合命名空间,如foo.bar, 表示数据库foo下的集合bar。             db.runCommand({"listDatabases" : 1})                              # 列出服务器上所有的数据库              mongo  172.20.20.1:27072/mdb --eval "db.tb.count();"              # shell执行mongo语句             mongo --host  172.20.20.1 --port 27049              rs.config();                                                      # 查看集群配置             rs.status();                                                      # 查看集群节点的状态             db.currentOp()                                                    # 获取当前正在执行的操作,可对应命令链接到ip:port             db.runCommand( { logRotate : 1 } )                                # 日志轮转             rs.slaveOk()                                                      # 设置从库shell可读             rs.addArb("172.16.10.199:27020");                                 # 添加仲裁节点             rs.add({host: "10.2.2.2:27047", priority: 0, hidden: true})       # 添加从节点 hidden true隐藏节点[priority必须为0]  false不隐藏             rs.remove("172.20.80.216:27047");                                 # 删除节点             rs.stepDown(120)                                                  # 主库上执行切换为从,120秒后切换回主             show dbs                                                          # 查询db             use post                                                          # 选择db             show tables                                                       # 查看文档列表             db.tb.drop()                                                      # 删除集合 需要权限             db.tb.remove({})                                                  # 删除所有数据             db.tb.count()                                                     # 查询文档条数             db.tb.find()                                                      # 查看文档内容             db.tb.find({_id:37530555})                                        # 查询指定id             db.tb.find().sort({_id:-1}).limit(1)                              # 查询文档最后一条             db.tb.find({"processed" : {"$ne" : true}}).limit(1);              # 字段不为 true             db.tb.find({"processed" : {"$eq" : true}}).limit(1);              # 字段为 true             db.tb.find({"processed" : {"$exists" : false}}).limit(1);         # 字段不存在              db.tb.ensureIndex({"status":1}, {background:true})                # 后台加索引             db.tb.getIndexes()                                                # 查看索引             db.tb.ensureIndex({"c_type":1},{backgrounnd:true})                # 后台添加索引  1正向  -1反向             db.tb.dropIndex({"c_type":1});                                    # 删除索引          }          七、进程控制{              db.currentOp()                  # 查看活动进程             db.$cmd.sys.inprog.findOne()    # 查看活动进程 与上面一样                 opid      # 操作进程号                 op        # 操作类型(查询更新)                 ns        # 命名空间,指操作的是哪个对象                 query     # 如果操作类型是查询,这里将显示具体的查询内容                 lockType  # 锁的类型,指明是读锁还是写锁              db.killOp(opid值)                         # 结束进程             db.$cmd.sys.killop.findOne({op:opid值})   # 结束进程          }          八、备份还原{             # mongodump 虽然能不停机备份,但是为了获取实时数据视图的能力,使用fsync命令能在运行时复制数据目录并且不会损坏数据             # fsync会强制服务器将所有缓冲区的数据写入磁盘.配合lock还阻止对数据库的进一步写入,知道释放锁为止             db.runCommand({"fsync":1,"lock":1})   # 执行强制更新与写入锁             db.$cmd.sys.unlock.findOne()          # 解锁             db.currentOp()                        # 查看解锁是否正常              mongoexport -d test -c t1 -o t1.dat                 # 导出JSON格式                 -c         # 指明导出集合                 -d         # 使用库             mongoexport -d test -c t1 -csv -f num -o t1.dat     # 导出csv格式                 -csv       # 指明导出csv格式                 -f         # 指明需要导出那些例              mongoimport -d test -c t1 -file t1.dat                           # mongoimport还原JSON格式             mongoimport -d test -c t1 -type csv --headerline -file t1.dat    # mongoimport还原csv格式数据                 --headerline                # 指明不导入第一行 因为第一行是列名              mongodump -d test -o /bak/mongodump                # mongodump数据备份             mongorestore -d test --drop /bak/mongodump/*       # mongorestore恢复                 --drop      # 恢复前先删除                 --gzip      # 压缩              # 备份一个表             # --excludeCollection string # 排除指定的集合 要排除多个,使用多个             mongodump --host 127.0.0.1:27080 -d dbname  -c tablename  -o /data/reports/             mongodump --host 127.0.0.1:27080 -d dbname  -c tablename  -o /data/reports/reports  -u root -p tAvaa5yNUE --authenticationDatabase admin              # 恢复一个表             mongorestore --host 127.0.0.1:27080 -d dbname  -c tablename --drop --dir=/data/reports/tablename.bson              # 在线拷贝一个库             db.copyDatabase(fromdb, todb, fromhost, username, password, mechanism)             db.copyDatabase("mate","mate", "172.16.255.176:27047")          }          九、修复{              # 当停电或其他故障引起不正常关闭时,会造成部分数据损坏丢失             mongod --repair      # 修复操作:启动时候加上 --repair             # 修复过程:将所有文档导出,然后马上导入,忽略无效文档.完成后重建索引。时间较长,会丢弃损坏文档             # 修复数据还能起到压缩数据库的作用             db.repairDatabase()    # 运行中的mongodb可使用 repairDatabase 修复当前使用的数据库             {"repairDatabase":1}   # 通过驱动程序          }          十、python使用mongodb{               easy_install pymongo      # python2.7+             import pymongo             connection=pymongo.Connection("localhost",27017)   # 创建连接             db = connection.test_database                      # 切换数据库             collection = db.test_collection                    # 获取collection             # db和collection都是延时创建的,在添加Document时才真正创建              文档添加, _id自动创建                 import datetime                 post = {"author": "Mike",                     "text": "My first blog post!",                     "tags": ["mongodb", "python", "pymongo"],                     "date": datetime.datetime.utcnow()}                 posts = db.posts                 posts.insert(post)                 ObjectId("...")              批量插入                 new_posts = [{"author": "Mike",                     "text": "Another post!",                     "tags": ["bulk", "insert"],                     "date": datetime.datetime(2009, 11, 12, 11, 14)},                     {"author": "Eliot",                     "title": "MongoDB is fun",                     "text": "and pretty easy too!",                     "date": datetime.datetime(2009, 11, 10, 10, 45)}]                 posts.insert(new_posts)                 [ObjectId("..."), ObjectId("...")]              获取所有collection                 db.collection_names()    # 相当于SQL的show tables              获取单个文档                 posts.find_one()              查询多个文档                 for post in posts.find():                     post              加条件的查询                 posts.find_one({"author": "Mike"})              高级查询                 posts.find({"date": {"$lt": "d"}}).sort("author")              统计数量                 posts.count()              加索引                 from pymongo import ASCENDING, DESCENDING                 posts.create_index([("date", DESCENDING), ("author", ASCENDING)])              查看查询语句的性能                 posts.find({"date": {"$lt": "d"}}).sort("author").explain()["cursor"]                 posts.find({"date": {"$lt": "d"}}).sort("author").explain()["nscanned"]          }      }

低门槛手把手python装饰器(Decorators)原理说明本文目的是由浅入深地介绍python装饰器原理装饰器(Decorators)是Python的一个重要部分其功能是,在不修改原函数(类)定义代码的情况下,增加新的功能为了理解和实现装C语言的发展历程我的上一个文章的程序讲到,mainprintinclude等都是熟知的英文单词,而计算机不能识别这些单词。实际上,在C语言产生之前,人们编写系统软件主要使用汇编语言。由于用汇编语言大疆劲敌要上市了半年卖出1。2万台农业无人机,估值近100亿2021年11月,国内知名无人机创企极飞科技正式启动上市计划。给大家简单介绍一下,这家公司总部位于广州,主营业务为智能农业装备和智慧农业管理系统,包括研发制造销售农业无人机农业无人银保监会完善支持高水平科技自立自强金融体系来源人民网原创稿人民网北京12月3日电(记者罗知之)据银保监会官网消息,为完善支持高水平科技自立自强的金融体系,推动银行业保险业科技金融服务质效提升,近日,银保监会印发了关于银行业已经成为老古董的QQ,20年过去了,为何仍未被Z世代抛弃?01。QQ这个老古董,为何仍未被淘汰?在互联网时代有着一个非常特别的现象马太效应。它形容一种极为让人无奈的发展趋势,拥有丰厚资源的人总能获得更多的资源,而资源贫瘠的人则会遭受更为惨两进两出中芯国际后,蒋尚义首次公开发声,释放出三个重要信号蒋尚义,这位台积电的老将,芯片界的技术大佬,曾经在台积电的多个技术节点做出过不少贡献,一度被称为蒋爸,其在台积电和芯片界的地位不言而喻。然而,退休后的蒋尚义工作似乎并不顺利,在中芯担心被手机App窃取信息?快来试试这几招不少人担心手机App过度收集个人信息,从而导致个人信息泄露。工信部也持续开展了App侵害用户权益专项整治行动,但仍有部分App顶风作案,面对形形色色的手机App,我们该如何保护个人灵活用工要火了!美团京东等互联网巨头高薪招聘相关岗位随着监管愈严相关政策落地,倒逼企业高薪寻求人才不断规范相应管理。作者列闻近日,猎聘网上美团京东拉卡拉等大企业都在招聘一个类型的岗位,开出的薪水都不低,月薪高则到6万元,而且年龄不限电信移动联通,打电话改套餐哪家最方便?电信移动联通打电话改手机套餐哪家最方便?这是不少消费者关心的问题为此,上海市消保委做了一个测试先是模拟消费者的身份分别致电三家运营商并和客服进行线上聊天结果发现有的运营商线上客服和阿维塔11亮相,配备200kw的快充,最高续航700km提到阿维塔这个品牌,可能很多人都会感到陌生,但提到长安蔚来宁德时代以及华为,那就是无人不知无人不晓了。而阿维塔,就是它们合作的产物。就在此次在上海的发布会上,它们也是正式亮相,下面充电不烧油,便宜远航大空间代步车,灵巧好开好停,实拍凌宝COCO凌宝COCO说实话现在真的是有车也不敢开,油价那么得贵,三天两头的高低起伏的,小心脏都有点受不了。不如入手一款微型纯电代步车,城市乡村代步真不错,可以遮风挡雨,养起来基本无压力,在
网络机顶盒什么牌子好?老白测评盘点五大畅销网络机顶盒排行榜现在的智能电视机越做越大,加上各种花哨的功能,售价自然而然的就上去了,老白昨天在商场看到一台60寸的电视机都要近2万元了,真的让人唏嘘不已。相比动不动上万元的智能电视机,站在数码测团油加速油站数字化升级,能链获国际绿色基金和山东高速投资12月17日,能链NewLink宣布获得国际绿色基金领投的战略融资。该基金主体为山东绿色发展股权投资基金,由中金资本与山东发展投资控股集团共同成立,亚洲开发银行德国复兴信贷银行法国新能源开发的项目股权随谈最近疫情,哪哪都去不了。谈谈物流工作之外的,新能源项目和碳中和几乎就是今年的热点,跑了几次大西北,看到新能源和光伏项目如火如荼地进行当中,想到的第一是光伏储能到底能给社会消费带来多轻巧超乎想象OPPOAirGlass智能眼镜正式发布12月14日,OPPO在INNODAY2021上正式推出全新一代智能眼镜OPPOAirGlass。它搭载OPPO自研微型光机和前沿的MicroLED,以及定制衍射光波导技术,支持触小米12系列或有屏下款式1080p分辨率高配版本独享小米12系列新机应该将会在今年年底前正式亮相,小米12标准版和小米12Pro以及小米12Ultra三个版本基本是确定下来了,不过最近有消息表示,在这三款产品外,小米12系列还将会推经常看书阅读颈椎脖子酸痛,,请问有什么好品牌的读书架推荐?你好!我建议你在读书时每一个小时按摩一次颈椎部位,用手指上下揉100下,另外渴不渴每小时都要喝点水,最好是温开水,水份充足会降低疲劳感。做到这两点脖子就不会酸痛了。经常做做颈椎保健除了南极人俞兆林恒源祥还有哪些品牌是贴牌商?鸭鸭,南极人,北极绒,俞兆林,恒源祥,花花公子,富贵鸟,猫人,红豆,大嘴猴,雅鹿,浪莎,骆驼,吉普,帕兰朵,稻草人,卡乐帝鳄鱼,泰迪,拉夏贝尔,艾莱依,啄木鸟,新飞,志高,杨子暂时高品质千元机已经降价,颜值屏幕续航都不错,价格新低之下香不香对于现在手机市场上的产品来说,哪方面的表现最重要是一个很大的市场问题,不但对于消费者来说是一个很难挑选抉择的办法,但是其实对于厂商来说也是一个很重要的产品研发方向需要考虑到的问题。三星GalaxyM335G通过韩国认证6000mAh大电池IT之家12月16日消息,据外媒91mobiles消息,三星GalaxyM335G手机电池日前通过了韩国SafetyKorea认证。认证信息显示,这款机型内置电池容量高达6000m紫云科技管理服务实现新跨越来源人民网贵州频道原创稿科学技术是第一生产力。紫云自治县科技服务中心深化科技体制改革,将党史学习教育融入科技管理服务全过程,守正创新,务实重干,推动科技管理服务工作在项目申报立项科金融科技创新应用思考2019年,中国人民银行印发了金融科技(FinTech)发展规划(20192021年),明确提出了近三年以来金融科技工作的指导思想基本原则发展目标重点任务和保障措施。浙江省把数字化