此查询仅扫描一份文档并仅返回一份文档。但这非常慢:
2017-05-22T07:13:24.548+0000 I COMMAND [conn40] query databasename.collectionname query: { _id: ObjectId('576d4ce3f2d62a001e84a9b8') } planSummary: IDHACK ntoskip:0 keysExamined:1 docsExamined:1 idhack:1 cursorExhausted:1 keyUpdates:0 writeConflicts:0 numYields:0 nreturned:1 reslen:42 locks:{ Global: { acquireCount: { r: 2 } }, Database: { acquireCount: { r: 1 } }, Collection: { acquireCount: { r: 1 } } } 8009ms
2017-05-22T07:13:24.549+0000 I COMMAND [conn10] query databasename.collectionname query: { _id: ObjectId('576d4db35de5fa001ebdd77a') } planSummary: IDHACK ntoskip:0 keysExamined:1 docsExamined:1 idhack:1 cursorExhausted:1 keyUpdates:0 writeConflicts:0 numYields:0 nreturned:1 reslen:42 locks:{ Global: { acquireCount: { r: …Run Code Online (Sandbox Code Playgroud) 我在 MariaDB 10.3.x 中看到了一个新功能Invisible Columns。DBA 和 Web 开发人员的实际用例是什么?什么时候使用这个功能?
可以
INVISIBLE在CREATE TABLEorALTER TABLE语句中为列指定属性。这些列将不会列在语句的结果中SELECT *,也不需要在INSERT语句中为它们分配值,除非INSERT通过名称明确提及它们。由于
SELECT *不返回不可见列,因此以这种方式创建的新表或视图将不会有不可见列的痕迹。如果在语句中特别引用SELECT,列将被带入视图/新表,但INVISIBLE属性不会。不可见列可以声明为
NOT NULL,但随后需要一个DEFAULT值
我们使用这些版本:
# rpm -qa | egrep '(galera|maria)'
mariadb-libs-5.5.41-2.el7_0.x86_64
mariadb-galera-common-5.5.40-6.el7ost.x86_64
mariadb-galera-server-5.5.40-6.el7ost.x86_64
mariadb-5.5.41-2.el7_0.x86_64
galera-25.3.5-6.el7ost.x86_64
Run Code Online (Sandbox Code Playgroud)
那是我们的grastate.dat
# cat /var/lib/mysql/data/grastate.dat
# GALERA saved state
version: 2.1
uuid: e7ead849-f2a3-11e4-bfda-7f651f709ee3
seqno: -1
cert_index:
Run Code Online (Sandbox Code Playgroud)
在seqno: -1 外观腥。在其他集群上有一个数字。我不知道为什么。根据文档,这似乎“崩溃了”。-1 是在停电之后。但是这个集群是健康的。
修改时间很早
# stat /var/lib/mysql/data/grastate.dat
File: â/var/lib/mysql/data/grastate.datâ
Size: 104 Blocks: 8 IO Block: 4096 regular file
Device: fd09h/64777d Inode: 108 Links: 1
Access: (0660/-rw-rw----) Uid: ( 1000/ mysql) Gid: ( 1000/ mysql)
Context: system_u:object_r:mysqld_db_t:s0
Access: 2015-07-29 14:51:25.170699518 +0200
Modify: 2015-06-02 11:50:21.564360655 +0200
Change: 2015-06-02 11:50:21.564360655 +0200
Birth: -
Run Code Online (Sandbox Code Playgroud)
来自日志(没有错误,只有信息和警告): …
我有一个需要重新同步的 MongoDB 实例。
2016-11-07T11:59:23.330+0000 I REPL [ReplicationExecutor] syncing from: x.x.x.x:27017
2016-11-07T11:59:23.354+0000 W REPL [rsBackgroundSync] we are too stale to use x.x.x.x:27017 as a sync source
2016-11-07T11:59:23.354+0000 I REPL [ReplicationExecutor] could not find member to sync from
2016-11-07T11:59:23.354+0000 E REPL [rsBackgroundSync] too stale to catch up -- entering maintenance mode
2016-11-07T11:59:23.354+0000 I REPL [rsBackgroundSync] our last optime : (term: 20, timestamp: Oct 4 07:41:29:1)
2016-11-07T11:59:23.354+0000 I REPL [rsBackgroundSync] oldest available is (term: 20, timestamp: Oct 17 02:13:33:5)
2016-11-07T11:59:23.354+0000 I REPL [rsBackgroundSync] …Run Code Online (Sandbox Code Playgroud) 今天我了解了GRANT REFERENCES. 在多年的 SQL 管理和开发工作中,我从未听说过它,也从未遇到过问题。
REFERENCES 启用外键创建。级别:全局、数据库、表、列。
REFERENCES 要创建外键约束,必须对引用列和被引用列都具有此权限。可以为表的所有列或仅特定列授予特权。
是GRANT REFERENCES唯一的有关创建一个外键约束?在什么业务案例中禁止创建外键约束(但允许创建表)有意义?你能给我举个真实世界的例子吗?
mysql postgresql foreign-key permissions referential-integrity
我在 RHEL7 VM 上安装了 SQL Server
msodbcsql-13.1.1.0-1.x86_64
mssql-server-14.0.100.187-1.x86_64
mssql-tools-14.0.2.0-1.x86_64
# ls -al /opt/
total 4
drwxr-xr-x. 5 root root 52 Jan 13 08:31 .
drwxr-xr-x. 17 root root 4096 Jan 13 07:55 ..
drwxr-xr-x. 3 root root 22 Jan 13 08:31 microsoft
drwxr-xr-x. 4 root root 26 Jan 13 08:14 mssql
drwxr-xr-x. 4 root root 28 Jan 13 08:31 mssql-tools
Run Code Online (Sandbox Code Playgroud)
systemctl 表示 SQL 服务器已启动并正在运行 / 绿色
# systemctl status mssql-server
mssql-server.service - Microsoft(R) SQL Server(R) Database Engine
Loaded: loaded (/usr/lib/systemd/system/mssql-server.service; …Run Code Online (Sandbox Code Playgroud) 我发现了SQL Server Management Studio的类似问题。但我在 macOS 上使用最新的 Azure Data Studio。我们使用本地 SQL Server(不是 Azure 云)。
如何使用 Azure Data Studio 从现有数据库生成 ERD?
我希望将 mongodump 运行到辅助(不是主)。所以我需要作为输出主机名和一个辅助端口。
# ./mongo -udbadm admin --port 27100 -p --quiet --eval "printjson(rs.status().members.map(function(m) { return {'name':m.name, 'stateStr':m.stateStr} }))"
Enter password:
[
{
"name" : "example-1.domain:27200",
"stateStr" : "SECONDARY"
},
{
"name" : "example-2.domain:27200",
"stateStr" : "PRIMARY"
},
{
"name" : "example-3.domain:27200",
"stateStr" : "SECONDARY"
}
]
Run Code Online (Sandbox Code Playgroud)
使用 shell 脚本工具,我可以毫无问题地提取带有主机名和端口的辅助设备。我的问题是如何以 MongoDB 方式完成这项工作?您推荐我什么工具?我听说这jq对于 JSON 数据更好。但不知道如何仅提取一个辅助主机。
当我启动时mysqladmin,它会打印出一些统计信息,包括“每秒平均查询数”:
# mysqladmin --defaults-file=../mylogin.cnf status
Uptime: 4568115 Threads: 859 Questions: 3703806462 Slow queries: 19415 Opens: 10300505 Flush tables: 247 Open tables: 2000 Queries per second avg: 810.795
Run Code Online (Sandbox Code Playgroud)
我可以在 SQL 查询中检索“每秒平均查询数”值吗?我们使用 MariaDB 10.1.x
在 MacOS 10.13.6 上启动 MariaDB 10.3.8 时,会发生以下奇怪的行为:
mac:~user$ mysql.server start
Starting MariaDB
Run Code Online (Sandbox Code Playgroud)
.180813 17:50:11 mysqld_safe Logging to '/usr/local/var/mysql/mbp.local.err'.
180813 17:50:11 mysqld_safe Starting mysqld daemon with databases from /usr/local/var/mysql.. ERROR!
Run Code Online (Sandbox Code Playgroud)
在 ERROR 之前的输出中实际上还有更多的点!被陈列; 这个过程需要几分钟。奇怪的是服务器确实在运行。并且关机显示正常:
mac:~user$ mysql.server stop
Shutting down MariaDB.. SUCCESS!
Run Code Online (Sandbox Code Playgroud)
知道如何确定是什么导致启动时出现错误消息并修复它吗?
如何从 MongoDB 客户端内执行 shell (bash) 命令?
使用 MySQL 客户端:
system (!) 执行系统 shell 命令。
MongoDB 有类似的东西吗?
版本
sql -version
SQLcl: Release 18.4.0.0 Production
Run Code Online (Sandbox Code Playgroud)
我输入:
SQL> exec dbaspace.long_ops;
SID % Done Start Time Rem [s] Elapsed Message
==== ======= =================== ======= ======= ======================================================================================
There are currently no long running operations.
PL/SQL procedure successfully completed.
Run Code Online (Sandbox Code Playgroud)
我按 ARROW UP 键来获取最后一个命令,SQLcl 像这样修改我的历史记录:
SQL> BEGIN dbaspace.long_ops; END;;
Error starting at line : 1 in command -
BEGIN dbss.long_ops; END;;
Error report -
ORA-06550: line 1, column 26:
PLS-00103: Encountered the symbol ";"
06550. 00000 - "line %s, column %s:\n%s"
*Cause: Usually …Run Code Online (Sandbox Code Playgroud) 我从未在我的书中看到过这一点,dbpath也没有在搜索引擎中找到任何解释。
我们运行 MongoDB 3.2.8
# ls -alh; pwd
total 151M
drwxr-xr-x. 2 mongod mongod 4.0K Sep 12 22:18 .
drwxr-xr-x. 6 mongod mongod 12K Sep 12 22:16 ..
-rw-r--r--. 1 mongod mongod 8.0M Sep 12 21:54 extsort.0
-rw-r--r--. 1 mongod mongod 10M Sep 12 21:54 extsort.1
-rw-r--r--. 1 mongod mongod 7.9M Sep 12 22:02 extsort.10
-rw-r--r--. 1 mongod mongod 7.9M Sep 12 22:07 extsort.11
-rw-r--r--. 1 mongod mongod 9.9M Sep 12 22:07 extsort.12
-rw-r--r--. 1 mongod mongod 7.9M …Run Code Online (Sandbox Code Playgroud) mongodb ×5
mariadb ×4
mongodb-3.2 ×3
linux ×2
mysql ×2
scripting ×2
sql-server ×2
backup ×1
clustering ×1
datafile ×1
erd ×1
explain ×1
foreign-key ×1
galera ×1
mac-os-x ×1
maintenance ×1
mariadb-10.1 ×1
mariadb-10.3 ×1
mongodb-3.0 ×1
oracle ×1
oracle-sqlcl ×1
performance ×1
permissions ×1
postgresql ×1
slow-log ×1
sqlcmd ×1
terminology ×1
timeout ×1
unixodbc ×1