我使用 SQL 'show variables like 'character%';' 显示MySQL变量中的字符集。我找到了一个名为'character_set_database'的变量,我想知道它的用途。我从 MySQL 文档网站获得了一些信息。但我不知道文档上下文中“默认数据库”的含义。关键字“默认数据库”让我对变量“character_set_database”的使用感到困惑。
所以请帮我解释一下关键字' default database '或者直接使用变量' character_set_database '。
mysql网站中关于属性' character_set_database '的描述:
· character_set_database默认数据库
使用的字符集。每当默认数据库更改时,服务器都会设置此变量。如果没有默认数据库,则该变量具有与 character_set_server 相同的值。 从 MySQL 8.0.14 开始,设置此系统变量的会话值是一项受限操作。会话用户必须具有足以设置受限会话变量的权限。请参见第 5.1.9.1 节,“系统变量权限”。 全局 character_set_database 和 collation_database 系统变量已弃用,并将在 MySQL 的未来版本中删除。
不推荐为会话 character_set_database 和 collation_database 系统变量分配值,并且分配会产生警告。在 MySQL 的未来版本中,会话变量将变为只读,并且分配将产生错误。仍然可以访问会话变量以确定默认数据库的数据库字符集和排序规则。”