修改mysql客户端及服务器的字符集

1 修改数据库客户端字符集

修改my.cnf配置文件如下:

[client]
#password       = your_password
port            = 3306
socket          = /tmp/mysqld.sock
default-character-set=utf8

 

 

2 查看参数文件

 

mysql> show variables like 'character%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | latin1                     |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | latin1                     |
| character_set_system     | utf8                       |
| character_sets_dir       | /opt/mysql/share/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.01 sec)

 

3 修改服务器参数文件

 

[mysqld]
port            = 3306
socket          = /tmp/mysqld.sock
skip-external-locking
character_set_server=utf8

 

 

4 重启mysql服务

[root@SR3 etc]# service mysql restart
Shutting down MySQL.[  OK  ]
Starting MySQL..[  OK  ]

 

5 查看字符集参数

 

mysql> show variables like 'character%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | utf8                       |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /opt/mysql/share/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

 

注:字符集都已经变成utf-8了

 

 

6 查看数据库信息

 

mysql> show create database mysql;
+----------+----------------------------------------------------------------+
| Database | Create Database                                                |
+----------+----------------------------------------------------------------+
| mysql    | CREATE DATABASE `mysql` /*!40100 DEFAULT CHARACTER SET utf8 */ |
+----------+----------------------------------------------------------------+
1 row in set (0.00 sec)

mysql> show create database test;
+----------+---------------------------------------------------------------+
| Database | Create Database                                               |
+----------+---------------------------------------------------------------+
| test     | CREATE DATABASE `test` /*!40100 DEFAULT CHARACTER SET utf8 */ |
+----------+---------------------------------------------------------------+
1 row in set (0.00 sec)

 

注:此时数据库的字符集也变成utf-8了

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要一次修改多个表的字符集,可以使用以下步骤: 1. 登录到MySQL数据库服务器:使用适当的客户端工具(如MySQL命令行或phpMyAdmin)登录到MySQL数据库服务器。 2. 选择要修改字符集的数据库:使用以下命令选择要修改字符集的数据库: ``` USE database_name; ``` 将 `database_name` 替换为你要修改字符集的数据库名称。 3. 查看当前字符集设置:使用以下命令查看当前数据库的字符集设置: ``` SHOW VARIABLES LIKE 'character_set_database'; ``` 4. 修改数据库的默认字符集:使用以下命令修改数据库的默认字符集: ``` ALTER DATABASE database_name DEFAULT CHARACTER SET new_character_set; ``` 将 `database_name` 替换为你要修改字符集的数据库名称,将 `new_character_set` 替换为你想要设置的新字符集(例如utf8mb4)。 5. 获取所有表名:使用以下命令获取当前数据库中的所有表名: ``` SHOW TABLES; ``` 6. 为每个表执行修改字符集操作:使用以下命令循环遍历每个表名,并执行修改字符集操作: ``` SET @database_name = 'database_name'; SET @new_character_set = 'new_character_set'; SELECT CONCAT('ALTER TABLE ', table_name, ' CONVERT TO CHARACTER SET ', @new_character_set, ';') AS alter_query FROM information_schema.tables WHERE table_schema = @database_name; ``` 将 `database_name` 替换为你要修改字符集的数据库名称,将 `new_character_set` 替换为你想要设置的新字符集。 7. 执行修改字符集操作:将步骤6中生成的`ALTER TABLE`语句逐个执行,以修改每个表的字符集。 请注意,在执行以上操作前,请确保备份数据库以防止意外数据丢失。此外,只有具有适当权限的用户才能执行这些操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值