我有两个数据库 /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
我该如何删除带有西里尔符号的数据库。
谢谢。
看起来您需要在连接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字符的数据库
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句