一、MYSQL数据库相关编码:
查看数据库编码
SHOW VARIABLES LIKE 'char%';
查看数据库中表编码
SHOW CREATE TABLE zpword;
产看数据库某表中所有字段编码
SHOW FULL COLUMNS FROM zpword;
二、修改数据库、数据库表和表中字段编码
修改数据库编码:
windows系统修改my.ini文件配置如下;
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
. . .
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
linux系统修改my.cnf文件配置如下;
[mysqld]
default-character-set=utf8
...
[client]
default-character-set=uft8
修改完成后重启mysql服务就可以了
修改数据库表编码:
ALTER TABLE zpword DEFAULT CHARACTER SET utf8mb4;
ALTER TABLE zpword DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
ALTER TABLE zpword DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
修改数据库表中字段编码:
alter table zpword modify FigureLife LONGTEXT character set utf8mb4;
alter table zpword modify FigureLife LONGTEXT character set utf8;
三、数据库导出和导入:
mysqldump -uroot -p --max_allowed_packet=268435456 --net_buffer_length=16384 qingshi> qingshi.sql
mysql -h localhost -uroot -p qingshi_develop< /qingshi_develop.sql
四、要想知道每个数据库的大小的话,步骤如下:
1、进入information_schema 数据库(存放了其他的数据库的信息)
use information_schema;
2、查询所有数据的大小:
select concat(round(sum(data_length/1024/1024),2),'MB') as data from tables;
3、查看指定数据库的大小:
比如查看数据库home的大小
select concat(round(sum(data_length/1024/1024),2),'MB') as data from tables where table_schema='home';
4、查看指定数据库的某个表的大小
比如查看数据库home中 members 表的大小
select concat(round(sum(data_length/1024/1024),2),'MB') as data from tables where table_schema='home' and table_name='members';
五、数据库相关错误收集;
1、解决mysql插入数据时出现Incorrect string value: '\xF0\x9F...' for column 'name' at row 1的异常
解决方案:
a、在mysql的安装目录下找到my.ini,作如下修改:
[mysqld]
character-set-server=utf8mb4
[mysql]
default-character-set=utf8mb4
修改后重启Mysql
b、将已经建好的表也转换成utf8mb4
命令:alter table TABLE_NAME convert to character set utf8mb4 collate utf8mb4_bin; (将TABLE_NAME替换成你的表名)