导出:
mysqldump -h192.168.1.x -umyuser -pmypassword --default-character-set=utf8 --database hst_rsgz > d:\a.sql
导入:
mysql -h192.168.1.x -umyuser -pmypassword --default-character-set=utf8 --database hst_rsgz < d:\a.sqlmysql> status;
--------------
mysql Ver 14.12 Distrib 5.0.45, for Win32 (ia32)Connection id: 182
Current database:
Current user: myuser@localhost
SSL: Not in use
Using delimiter: ;
Server version: 5.0.45-community-nt MySQL Community Edition (GPL)
Protocol version: 10
Connection: localhost via TCP/IP
Server characterset: utf8
Db characterset: utf8
Client characterset: utf8
Conn. characterset: utf8
TCP port: 3306
Uptime: 46 min 36 secThreads: 3 Questions: 5696 Slow queries: 0 Opens: 1633 Flush tables: 5 Open
tables: 220 Queries per second avg: 2.037
mysqldump -h192.168.1.x -umyuser -pmypassword --default-character-set=utf8 --database hst_rsgz > d:\a.sql
导入:
mysql -h192.168.1.x -umyuser -pmypassword --default-character-set=utf8 --database hst_rsgz < d:\a.sqlmysql> status;
--------------
mysql Ver 14.12 Distrib 5.0.45, for Win32 (ia32)Connection id: 182
Current database:
Current user: myuser@localhost
SSL: Not in use
Using delimiter: ;
Server version: 5.0.45-community-nt MySQL Community Edition (GPL)
Protocol version: 10
Connection: localhost via TCP/IP
Server characterset: utf8
Db characterset: utf8
Client characterset: utf8
Conn. characterset: utf8
TCP port: 3306
Uptime: 46 min 36 secThreads: 3 Questions: 5696 Slow queries: 0 Opens: 1633 Flush tables: 5 Open
tables: 220 Queries per second avg: 2.037
MySQL 中文显示乱码
程序连接访问时加个set names gb2312
对编程有影响的主要是客户端字符集和数据库字符集(还有一个服务器字符集,不知道干什么用的), 数据库中常用的操作就是保存数据和读取数据,在这过程中,乱不乱码和数据库字符集貌似没有什么关系。我们只要保证写入时选择的字符集和读取时选择的字符集一致,即只需保证两次操作的客户端字符集一致即可。
在MySQL的客户端上执行一次查询的过程一般是,在客户端的提示符后面输入一条SQL语句,回车,然后终端显示出查询的结果。这个过程中,只有终端和三个MySQL的系统变量指定了正确的字符集,才能保证我们将一个正确的SQL语句送到服务器,然后服务器返回正确的结果,并且在终端正确显示。
三个MySQL的系统变量是:
1. character_set_client,终端字符集,告诉Server客户端提交的SQL语句的编码格式
2. character_set_connection,连接字符集,是服务器翻译SQL语句时用到的编码格式
3. character_set_results,返回的结果集的字符集,是服务器返回结果集之前把结果集转换成的编码格式
在MySQL终端通过执行命令 show variables like ‘char%’ 可以查看这几个变量的值。这三个变量通常都设定为同一种字符集,用命令set names [charset name]就可以修改这三个变量的值。一般来说,只要你设定了能够表示你的数据的字符集,你查询的结果都可以在终端正确显示。
mysql> use hst_rsgz1
Database changed
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 | C:\Program Files\MySQL Server 5.0\share\charsets\ |+--------------------------+---------------------------------------------------+8 rows in set (0.00 sec)mysql> select * from company_info;
+------------+------------+---------------+---------------+---------------+-----
------------------------+------------+-----------------+-----------------+------
--+
| COMPANY_JC | COMPANY_QC | PHONE1 | PHONE2 | FAX | ADDR
ESS | POSTALCODE | E_MAIL | HTTP | REMAR
K |
+------------+------------+---------------+---------------+---------------+-----
------------------------+------------+-----------------+-----------------+------
--+
| | | 0575-84561239 | 0575-80123461 | 0575-12369854 | 璇告
毃甯傛担涓滀腑璺?22鍙? | 311800 | [email protected] | www.highsum.com |
|
+------------+------------+---------------+---------------+---------------+-----
------------------------+------------+-----------------+-----------------+------
--+
1 row in set (0.00 sec)mysql>
使用十六进制格式导出二进制字符串字段。如果有二进制数据就必须使用本选项。影响到的字段类型有 BINARY、VARBINARY、BLOB。