linux下 mysql表中插入中文乱码和备份恢复等问题

解决linux下 mysql表中插入中文数据乱码(显示??)等问题

image

[^修改配置文件:sudo vim /etc/my.cnf]:

[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
sudo service mysql restart
#表中插入数据 结果发现仍然有乱码
mysql> show variables like 'char%';

image

可以看到,其中还有部分字符为latin1,干脆修改所有字符集为utf8:

set character_set_database=utf8;

set character_set_server=utf8;

之后就没问题了

备份与恢复

数据备份

  • 进入超级管理员
sudo -s
  • 进入mysql库目录
cd /var/lib/mysql
  • 运行mysqldump命令
mysqldump –uroot –p 数据库名 > ~/Desktop/备份文件.sql;
按提示输入mysql的密码

数据恢复

  • 连接mysqk,创建数据库
  • 退出连接,执行如下命令
mysql -uroot –p 数据库名 < ~/Desktop/备份文件.sql
根据提示输入mysql密码

带条件插入数据

WHERE 条件 成立就插入
INSERT INTO 表名(字段1,字段2)  SELECT 字段1的值,字段2的值 
FROM  DUAL  WHERE EXISTS(SELECT 1 FROM 表名 WHERE 条件)
#insert into test(name,code) select '李四','456' FROM DUAL WHERE EXISTS(SELECT name FROM test WHERE name != '李四');
posted @ 2021-10-08 23:14  君逸不是铁Five  阅读(238)  评论(0)    收藏  举报