0

我有两个数据库/var/lib/mysql/:

test_@x0m
test_cm

数据库test_@x0m名称中有西里尔字母。

在 mysql 中,这个数据库看起来像:

test_?m
test_cm

我想删除带有西里尔符号的数据库。我使用命令:

drop database `test_@x0m`;
drop database `test_?m`;
drop database `test_\?m`;

但得到结果:

Unknown database

如何使用西里尔符号删除数据库。

谢谢你。

4

1 回答 1

0

连接到 mysql 时,您似乎需要设置正确的编码。首先检查默认编码变量:

mysql> show variables like '%character%';
+--------------------------+-------------------------------------+
| Variable_name            | Value                               |
+--------------------------+-------------------------------------+
| character_set_client     | latin1                              |
| character_set_connection | latin1                              |
| character_set_database   | latin1                              |
| character_set_filesystem | binary                              |
| character_set_results    | latin1                              |
| character_set_server     | latin1                              |
| character_set_system     | utf8                                |
| character_sets_dir       | /usr/share/percona-server/charsets/ |
+--------------------------+-------------------------------------+

如果您看到类似的内容,则需要将会话设置切换为 UTF8

mysql> SET NAMES utf8;
Query OK, 0 rows affected (0.00 sec)

现在您只需将数据库输入 mysql 控制台即可删除带有任何 utf 字符的数据库

于 2020-08-10T13:43:24.587 回答