1 mysql编码问题
1、查看MySQL数据库编码
SHOW VARIABLES LIKE 'char%';
变量名 | 变量值 | 解释 |
---|---|---|
character_set_client | utf8mb4 | mysql把我们客户端传递的数据都当成是utf8mb4,一是给它传utf8,而是修改为我们传递的编码格式 |
character_set_connection | utf8mb4 | |
character_set_database | utf8mb4 | |
character_set_filesystem | binary | |
character_set_results | utf8mb4 | mysql发送给客户端的数据都是utf8mb4的,一是客户端使用utf8编码,二是修改为客户端使用的编码 |
character_set_server | utf8mb4 | |
character_set_system | utf8 |
如果要修改以上变量,使用此语法:set variable_name = value
,但是这样设置只会在当前窗口内有效,也就是说,关闭窗口后,再打开,又回到默认编码。
在my.ini总配置文件中进行配置,就可以做到默认编码为开发者设置的编码。
[client]
port=3306
[mysql]
# 设置字符编码,可以修改三个变量:client、results、connection
default-character-set=gbk
若要生效一定要重启mysql服务,编码问题一般只在windows命令行出现。
2 mysql备份与恢复数据库
1、数据库导出SQL脚本(备份:数据库→sql脚本)
(1)mysqldump -u用户名 -p密码 数据库名>生成的脚本文件路径
(2)例如:mysqldump -uroot -p123456 mydb>C:\mydb.sql
(与mysql.exe和mysqld.exe一样都在bin目录下)
(3)注意,不要打分号,不要登录mysql,直接在cmd下运行
(4)注意,生成的脚本文件中不包含create database语句。
2、执行SQL脚本(恢复:sql脚本→数据库)
(1)第一种方式
|——mysql -u用户名 -p密码 数据库<脚本文件路径
|——例如:
|————先删除mydb库,在重新创建mydb库
|————mysql -uroot -p123456 mydb<C:\mydb.sql
|——注意,不要打分号,不要登录mysql,直接在cmd下运行
(2)第二种方式
|——登录mysql
|——source SQL脚本路径
|——例如:
|————先删除mydb库,再重新创建mydb库
|————切换到mydb库
|————source C:\mydb.sql