我已经安装了 Docker 并且正在MongoDB
我的 Mac 上为我的本地开发运行一个容器。问题是我无法从 CLI 轻松连接到所述数据库。我安装了Robo 3T,但我更喜欢使用CLI
客户端。
有没有一种已知的方法可以在 OS X 上只安装mongo shell
(command mongo
) 而不是完整的 DB 发行版?
mysqldump: 得到错误: 1044: 使用 LOCK TABLES 时,用户 'username'@'localhost' 对数据库 'databasename' 的访问被拒绝
我能够正确登录并能够从 SQLyog Tool 进行完整备份,但是当我尝试从 MySQL Enterprise Workbencg 进行备份时收到错误消息。
mysqldump: 得到错误: 1044: 执行 LOCK TABLES 时,用户 'myuserid'@'%' 对数据库 'mydatabasename' 的访问被拒绝
操作失败,退出代码 2
并且MySQL 连接状态正常。
mysql> 状态;
mysql.exe Ver 14.14 Distrib 5.6.19,适用于 Win32 (x86)
连接 ID:23921 当前数据库:databasename 当前用户:用户 ID 在这里是可以的 SSL:未使用 使用分隔符:;服务器版本:5.6.17-log MySQL 社区服务器 (GPL) 协议版本:10 连接:此处连接正常 服务器字符集:utf8 Db 字符集:utf8 客户端字符集:cp850 连接字符集:cp850 TCP 端口:3306 正常运行时间:21 天 21小时 11 分 37 秒
主题:24 问题:20500671 慢查询:3212 打开:121998 刷新表:1 打开表:2000 每秒查询平均:10.842
我有以下配置:
Redis 和 MongoDB 都用于存储海量数据。我知道 Redis 需要将所有数据保存在 RAM 中,我对此没有意见。不幸的是,发生的情况是 mongo 开始占用大量 RAM,一旦主机 RAM 已满(我们在这里谈论的是 32GB),mongo 或 Redis 就会崩溃。
我已经阅读了以下有关此问题的先前问题:
it's completely okay to limit the WiredTiger cache size, since it handles I/O operations pretty efficiently
MongoDB uses the LRU (Least Recently Used) cache algorithm …
每次尝试重新启动 MySql 时,我都会收到以下错误。在我更改默认数据目录之前它工作正常。
ERROR 2002 (HY000): 无法通过 socket '/var/lib /mysql/mysql.sock' (111) 连接到本地 MySQL 服务器
我知道其他人发布了其他解决方案,但没有一个对我有用。
我从Dockerhub 中提取了 MySQL 容器,它正在我的 macbook pro 上运行,如下所示
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
12cd3deaa3f0 mysql:latest "/entrypoint.sh mysql" 47 hours ago Up 10 minutes 3306/tcp mysqldb
Run Code Online (Sandbox Code Playgroud)
然后我下载了 MySQL 工作台并尝试将它与 MySQL 容器连接,但它不起作用。它显示连接错误。
Your connection attempt failed for user 'root' from your host to server at 192.168.99.102:3306:
Can't connect to MySQL server on '192.168.99.102' (60)
Run Code Online (Sandbox Code Playgroud)
来自 docker 机器的 IP 是
docker-machine ip default
192.168.99.100
Run Code Online (Sandbox Code Playgroud)
正如您在上面看到的那样,来自 MySQL 的端口是 3306。
要导出 MySQL 端口,我尝试使用语句
docker run -d -P mysql:latest mysqldb
Run Code Online (Sandbox Code Playgroud)
它根本不起作用。我究竟做错了什么?
我想说的是,我每天都在日志文件中收到消息。
首先 I/O 被冻结在数据库 (DatabaseName) 消息出现在日志中。消息就像
I/O 在数据库 (DatabaseName) 上被冻结。不需要用户操作。但是,如果 I/O 没有立即恢复,您可以取消备份。
然后 I/O 在 Database(DatabaseName) 消息上恢复,如下所示
数据库 (DatabaseName) 上的 I/O 已恢复。无需用户操作。
最后备份已经成功完成了数据库,就像这条消息
无需用户操作
这是我的生产审计数据库,软件环境如下:
Windows Server 2012 R2
SQL Server 2012
VMware Tools
Run Code Online (Sandbox Code Playgroud)
我的生产数据库“恢复模式”是“完整”恢复模式。并从 SQL Server 中的哪个登录 ID 设置维护计划备份。它对所有数据库具有“系统管理员”权限。
备份已通过“维护计划”备份在特定时间安排(例如每天下午 4 点)进行设置。并且 Always Backup 在他们的计划时间间隔内成功完成。
为什么在计划备份时间会生成这种日志消息。这种消息是否会影响我的生产数据库性能。我的生产数据库中的(备份/恢复)数据一致性会有任何问题。
任何建议将不胜感激。
每隔一段时间(例如~几个月),SQL Server 代理每小时作业将开始报告错误 15404 并继续这样做直到被干预。
[298] SQLServer 错误:15404,无法获取有关 Windows NT 组/用户“DOMAIN_NAME\SomeDomainAccount”的信息,错误代码 0x6e。[SQLSTATE 42000] (ConnIsLoginSysAdmin)
有时,在手动重新启动 SQL Server 引擎和 SQL Server 代理服务后会立即发生第一次失败。可以通过重新启动机器来清除问题。
作业所有者是错误消息中列出的名称,并且是 SQL Server 管理员。
SQL Server 引擎服务帐户看起来是一个服务帐户(我相信它是默认安装帐户(比通用 NetworkService 好一个档次,以防止引擎/代理实例之间的干扰):
NT Service\MSSQL$INSTNAME
Run Code Online (Sandbox Code Playgroud)
如果作业总是失败,那将是一回事,但由于作业在重新启动后成功,这让我认为像这样的服务帐户应该可以正常工作,并且存在一些 A/D 计时问题或可能存在错误。当 IT 被问及 A/D 配置时,回答通常是“没有任何变化”。
我在 Postgres 中有一个物化视图,想知道刷新该视图时取出了哪些锁(如果有)。
CREATE TABLE people ( name VARCHAR(30) );
INSERT INTO people VALUES ('Alice'), ('Bob'), ('Cher');
CREATE MATERIALIZED VIEW test AS SELECT * FROM people;
REFRESH MATERIALIZED VIEW test;
Run Code Online (Sandbox Code Playgroud)
具体来说,我试图了解该REFRESH MATERIALIZED VIEW
命令是否取出ACCESS EXCLUSIVE
锁。
我尝试了一个解释但没有成功:
#> EXPLAIN REFRESH MATERIALIZED VIEW test;
QUERY PLAN
-------------------------------------------
Utility statements have no plan structure
Run Code Online (Sandbox Code Playgroud) 作为测试阶段,我安装了 SQL Server 2014 企业版的评估版。
当我通过 SQL Server Management Studio 分离数据库时,我看到两个选项:
这两个选项都将从 SQL Server 实例中分离数据库。这两个选项有什么区别?