首页
关于
统计
推荐
百度一下
腾讯视频
Search
1
mongodb使用:安装、修复服务、账号鉴权访问、增删改查
215 阅读
2
CSS代码片段:表格应用,图片垂直居中
175 阅读
前端技术
css
登录
Search
标签搜索
CSS
html
代码片段
逆向人
累计撰写
2
篇文章
累计收到
75
条评论
首页
栏目
前端技术
css
页面
关于
统计
推荐
百度一下
腾讯视频
搜索到
2
篇与
litery
的结果
2024-07-15
mongodb使用:安装、修复服务、账号鉴权访问、增删改查
一、windows部分下载mongo安装包,一路默认安装。输入指令: mongos --version 结果: mongos version v7.0.11 Build Info: { "version": "7.0.11", "gitVersion": "f451220f0df2b9dfe073f1521837f8ec5c208a8c", "modules": [], "allocator": "tcmalloc", "environment": { "distmod": "windows", "distarch": "x86_64", "target_arch": "x86_64" } }下载图形版操作工具 Mongodb CompassMongoDB Compass Download (GUI) 由于mongo4.4以后不提供shell工具,需在官网下载mongo shell工具MongoDB Shell Download 安装mongo服务后,使用Compass连接数据库连接字符串:mongodb://localhost:27017/也就是说默认情况下,mongodb不用户名/密码方式就能访问。需要安全访问的话,就要使用鉴权模式,创建用户了。注意!!!! 有些教程教你用命令sc delete mongo 从windows删掉mongo服务,是大雷。删了mongo服务后,再新建mongo服务会踩不少坑,且服务不一定能正常运行。别问我怎么知道的,因为我踩过!!!避雷: 为什么windows无法启动MongoDB Server位于本地计算机上?假设你误信了乱七八糟教程,删了服务,最好的办法是使用mongo安装包,选择repair修复,能帮你重新安装服务,且保证数据库里的东西不丢失。创建数据库角色打开mongo shell工具输入命令: show users默认下,结果为 [],空的。输入命令:db.createUser({ user: "user", pwd: "pwd", roles: [{ role: "root", db: "admin" }] })创建一个超级管理员账号,拥有对mongo数据库的完全使用权限。再输入命令: show users输出结果:[ { _id: 'admin.admin', userId: UUID('e81f0a3d-8bf9-476a-bcf0-***************'), user: 'user', db: 'admin', roles: [ { role: 'root', db: 'admin' } ], mechanisms: [ 'SCRAM-SHA-1', 'SCRAM-SHA-256' ] } ]说明创建用户成功。mongo切换为鉴权模式使用文本编辑器打开mongod.cfg配置文件我的路径在C盘,想修改,需要用管理员模式运行文本编辑器C:\Program Files\MongoDB\Server\7.0\bin\mongod.cfgmongod.cfg 实际上是个YAML文件修改security项把#security改为security:authorization: enabled重启数据库服务管理员模式运行windows的CMD,输入命令:net stop mongodbnet start mongodb鉴权应该就生效了。打开mongo shell工具,要求输入连接字符串,格式如:mongodb://user:pwd@localhost:27017/?authSource=admin用户名密码正确的话,界面显示内容:Current Mongosh Log ID: 6694baea6d50046330c4e49aConnecting to: mongodb://<credentials>@localhost:27017/?authSourc>e=admin&directConnection=true&serverSelectionTimeoutMS=2000&appName=mongos>h+2.2.12Using MongoDB: 7.0.11Using Mongosh: 2.2.12表示授权模式用户名密码访问mongo数据库成功。创建数据库、创建集合、简单增删改查在 第三部分 说明。二、linux部分云盘分享安装文件注意,我是在alibaba cloud linux3云主机上安装mongo,其它linux机器未验证!!1. 添加 MongoDB YUM 仓库首先,确保已经添加了 MongoDB 的 YUM 仓库:sudo vi /etc/yum.repos.d/mongodb-org-5.0.repo在文件中添加以下内容:[mongodb-org-5.0] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/8/mongodb-org/5.0/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-5.0.asc 2. 单独安装 MongoDB 服务器和 shell使用以下命令单独安装 MongoDB 服务器和 shell:sudo yum install -y mongodb-org-server mongodb-org-shell3. 验证安装安装完成后,启动 MongoDB 服务并验证安装:sudo systemctl start mongod sudo systemctl enable mongod mongo --eval 'db.runCommand({ connectionStatus: 1 })'验证成功输出内容:MongoDB shell version v5.0.28 connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("959716fd-1d66-4665-9620-2fc8cb96ec99") } MongoDB server version: 5.0.28 { "authInfo" : { "authenticatedUsers" : [ ], "authenticatedUserRoles" : [ ] }, "ok" : 1 } 输入mongo通过shell工具连接到mongodb。退出shell,输入 exit或ctrl+d4.创建管理员角色创建一个超级管理员账号,拥有对linux下的mongo数据库的完全使用权限。输入db.createUser({ user: "admin", pwd: "mongo", roles: [{ role: "root", db: "admin" }] })输出Successfully added user: { "user" : "admin", "roles" : [ { "role" : "userAdminAnyDatabase", "db" : "admin" } ] } 表示创建成功5.更改配置,以鉴权模式访问nano /etc/mongod.conf同windows,#security改为 security: authorization: enabled重启mongo服务(start、stop、restart)sudo systemctl restart mongod查看服务状态sudo systemctl restart mongod退出服务状态查看界面按 q键如果服务异常如下所示:mongod.service - MongoDB Database Server Loaded: loaded (/usr/lib/systemd/system/mongod.service; enabled; vendor pre> Active: failed (Result: exit-code) since Tue 2024-07-16 14:39:58 CST; 2min > Docs: https://docs.mongodb.org/manual Process: 48630 ExecStart=/usr/bin/mongod $OPTIONS (code=exited, status=2) Main PID: 48630 (code=exited, status=2)需要注意security项修改对不对,符不符合YAML语法,特别是子项下的两个空格缩进。输入mongo连不上服务,status=14 mongod.service - MongoDB Database Server Loaded: loaded (/usr/lib/systemd/system/mongod.service; enabled; vendor pre> Active: failed (Result: exit-code) since Tue 2024-07-16 15:21:55 CST; 40s a> Docs: https://docs.mongodb.org/manual Process: 48848 ExecStart=/usr/bin/mongod $OPTIONS (code=exited, status=14) Main PID: 48848 (code=exited, status=14)需要检查并删除套接字文件: 有时,旧的套接字文件会导致 MongoDB 无法启动。sudo rm /tmp/mongodb-27017.sock解析conf文件是否有错误mongod --config /etc/mongod.conf查看mongo 最近的50条日志tail -n 50 /var/log/mongodb/mongod.log服务正常启动的话,通过命令访问:mongo -u "admin" -p "mongo" --authenticationDatabase "admin"进来后,查看数据库> show dbs admin 0.000GB config 0.000GB local 0.000GB至此,windows和linux下mongodb都能正常访问了。6. 远程访问linux下的mongo服务使用 firewalld 来管理防火墙规则。以下是如何开放 MongoDB 端口 27017 的步骤:启动 firewalld 服务:sudo systemctl start firewalld设置防火墙规则:sudo firewall-cmd --zone=public --add-port=27017/tcp --permanent重新加载防火墙规则:sudo firewall-cmd --reload检查防火墙状态: 确保端口已成功开放:sudo firewall-cmd --list-ports绑定 IP 地址: 确保 MongoDB 配置文件中绑定了正确的 IP 地址。在 /etc/mongod.conf 中设置 bindIp 为 0.0.0.0 以允许所有 IP 地址访问:net: port: 27017 bindIp: 0.0.0.0阿里云控制台中配置安全组规则,允许 27017 端口的入站流量登录阿里云管理控制台。 找到你的云服务器实例,进入其管理页面。 在左侧导航栏中选择“安全组”。 找到要修改的安全组,点击“配置规则”。 在访问规则中添加 27017 端口的入方向规则。telnet 目标ip 27017,进去的话表明可以访问27017端口了。用mongodb compass工具在授权模式下访问即可。7.其他注意事项兼容性:Alibaba Cloud Linux 3 基于龙蜥社区(OpenAnolis)的龙蜥操作系统(Anolis OS),全面兼容 RHEL/CentOS 8生态。配置文件:MongoDB 的配置文件路径为 /etc/mongod.conf,日志文件路径为 /var/log/mongodb/mongod.log,数据文件路径为 /var/lib/mongo。三、mongodb操作数据库yuanbill> db.bill.countDocuments() 68 yuanbill> db.bill.countDocuments({_id:74}) 1 yuanbill> db.bill.find({_id:74})
2024年07月15日
215 阅读
48 评论
0 点赞
2024-07-11
CSS代码片段:表格应用,图片垂直居中
图表垂直居中.img-container { line-height: 300px; height: 300px; font-size: 0; text-align: center; background-color: chocolate; } .img-container img { height:96px; display: inline-block; vertical-align:middle; padding:0 10px; } <div class="img-container"> <div> <img src="1.png" alt="1"> <img src="1.png" alt="2"> </div> </div>效果表格代码片段表头+第二行三列+第三行四列<style> table { border-collapse: collapse; width: 100%; } th, td { border: 1px solid black; padding: 8px; text-align: left; } th { border: none; /* 移除表头的边框 */ } .no-border { border: none; /* 移除特定单元格的边框 */ } .single-border td { border-right: none; /* 移除右边框 */ } .single-border td:last-child { border-right: 1px solid black; /* 最后一列保留右边框 */ } </style> <table> <tr> <th>Header 1</th> <td class="no-border"></td> <td class="no-border"></td> <td class="no-border"></td> </tr> <tr class="single-border"> <td>Cell 1</td> <td>Cell 2</td> <td>Cell 3</td> </tr> <tr class="single-border"> <td>Cell 1</td> <td>Cell 2</td> <td>Cell 3</td> <td>Cell 4</td> </tr> </table>效果:表头+第二行二列(1、3格,2、4格空) + 第三行四列<style> table { border-collapse: collapse; width: 100%; } th, td { border: 1px solid black; padding: 8px; text-align: left; } th { border: none; /* 移除表头的边框 */ } .no-border { border: none; /* 移除特定单元格的边框 */ } .single-border td { border-right: none; /* 移除右边框 */ } .single-border td:last-child { border-right: 1px solid black; /* 最后一列保留右边框 */ } </style> <table> <tr> <th>Header 1</th> <td class="no-border"></td> <td class="no-border"></td> <td class="no-border"></td> </tr> <tr> <td>Cell 1</td> <td class="no-border"></td> <td>Cell 2</td> <td class="no-border"></td> </tr> <tr class="single-border"> <td>Cell 1</td> <td>Cell 2</td> <td>Cell 3</td> <td>Cell 4</td> </tr> </table>效果
2024年07月11日
175 阅读
27 评论
0 点赞