开发时发现,写mysql数据库乱码,使用 SHOW VARIABLES LIKE 'character%';查询发现
character_set_database
character_set_server的编码方式为latin1,这个是mysql安装时的默认编码,不支持中文。
通过修改mysql配置文件解决该问题,方法如下:
找到/etc/my.cnf,
在【client】下增加配置default-character-set=utf8,
在【mysqld】下增加character-set-server=utf8
重启mysql,问题解决。
在修改my.cnf时,遇到下面一系列问题:
问题1:忘记root账户密码。
解决办法:以安全模式启动mysql,修改root密码。在my.cnf配置【mysqld】下增加
【skip-grant-tables skip-networking】两个配置项,或执行命令【sudo /mysqld_safe --skip-grant-tables --skip-networking】
【--skip-networking,避免远程无密码登录MySQL。】
重启直接用root账户无密码登录:
mysql -u root
重设密码:
mysql> use mysql;
mysql> update user set password=PASSWORD("newpassword") where User='root';
mysql> flush privileges;
问题解决。
问题2:修改my.cnf后不能保存,报【'readonly' option is set (add ! to override)】
解决办法:无写权限,执行【sudo chmod 777 /etc/my.cnf】命令,又报【World-writable config file ‘/etc/my.cnf’ is ignored】,写权限范围太大,执行【sudo chmod 644 /etc/my.cnf】,问题解决。
问题3:执行【sudo /mysqld_safe --skip-grant-tables --skip-networking】命令时报【command not found错误】
原因:【在执行Linux命令时,如果在其前面加上sudo,就表示以root权限执行。但是这其实是有一个前提的,就是只有那些Linux内置系统命令才可以用如此的形式来执行,而对于Shell内置命令或其他用户自定义命令、别名等,是不能用sudo来使用root权限的。】【因为当在Linux下用sudo执行某一命令时,是在原进程(parent process)的基础上fork出来一个子进程(child process),这个子进程是以root权限执行的。然后在子进程中,执行你在sudo后面跟的命令。
在子进程中是无法调用涉及到父进程的状态的一些命令的,所以非系统内置命令会被拒绝。这就是为什么会出现command not found的提示。】
解决办法使用绝对路径:
【sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables --skip-networking】
问题解决。
问题4:执行【service mysql stop】提示:cat: /usr/local/mysql/data/iZ23bv4qfbdZ.pid: Permission denied
解决方法:执行【sudo service mysql stop】
分享到:
相关推荐
客户端工具的编码设置与数据库编码相同。这样,可以用客户端工具直接写入数据,不会产生乱码。例如,我们可以在 MySQL 客户端工具中设置编码为 gb2312。 三、Web.config 中设置连接字符串中的编码 在 ASP.NET 应用...
中国城市编码 sql mysql 数据库 ,中国所有的城市编码,三级城市编码,数据库脚本 ,中国城市编码 sql mysql 数据库 ,中国所有的城市编码,三级城市编码,数据库脚本 ,中国城市编码 sql mysql 数据库 ,中国所有的...
MySQL数据库编码问题涉及到字符集的选择、配置以及数据的迁移和处理。字符集是决定数据库中存储和检索文本数据的方式,对于多语言支持和数据迁移至关重要。UTF-8是一种广泛使用的多字节字符编码,支持全球大部分语言...
"国家开放大学 MySQL数据库应用实验训练1 在MySQL中创建数据库和表" 本实验训练旨在让学生掌握 MySQL 中的数据库和表的创建过程。 MySQL 是一种关系型数据库管理系统,广泛应用于各种领域。为提高学生的实践能力,...
### MySQL中文编码设置 在Java Web开发过程中,MySQL数据库中的中文编码问题是非常常见的技术难题之一。如果处理不当,可能会导致中文显示乱码、数据插入失败等问题。本文将深入探讨MySQL中文编码的相关设置,并...
在本教案中,将重点介绍MySQL数据库的安装、配置,以及字符集设置等技术点,并探讨如何利用SQL语言进行数据库操作。此外,教案还强调了数据库基本概念的理解和实际应用的重要性。 **知识点一:数据库的基本概念** ...
在处理MySQL数据库插入中文数据时,经常遇到编码问题导致乱码。这主要是由于不同环节的编码不一致所造成的。以下是两种解决方法,适用于普通Web项目和Struts框架的项目。 ### 方法一:普通Web项目 #### 1. 页面...
例如,使用MySQL命令行工具时,确保终端的编码设置正确。 6. **数据库连接工具**: 如果通过编程语言连接MySQL,如Java、Python等,确保连接字符串包含`useUnicode=true&characterEncoding=utf8`参数,以指定使用...
“用户手册-串口数据采集入MySQL数据库V2.0.pdf”文档将更详细地介绍如何安装、配置和使用该系统,包括设置串口参数、连接数据库、配置数据处理规则等步骤。而“新建文件夹”可能包含额外的软件、驱动程序或其他辅助...
(全国行政区划编码,省、市、县、乡镇、村/街道mysql数据库记录),(全国行政区划编码,省、市、县、乡镇、村/街道mysql数据库记录),(全国行政区划编码,省、市、县、乡镇、村/街道mysql数据库记录)
【标题】"美国城市地区Mysql数据库"是一个包含详尽美国城市和地区信息的数据库,它在MySQL环境中运行,提供了一种高效的方式来存储和查询美国各地的地理数据。 【描述】这个数据库涵盖了美国51个行政区(包括50个州...
批量修改mysql数据库、表、字段编码(gbk到utf8php脚本) 可以把整个数据库、表、字段编码全部从gbk_chinese_ci 到 utf8_general_ci 转换,不会乱码哦 狂拽吊炸天!!!
1. 导出数据库:使用 `mysqldump -u 用户名 -p --default-character-set=编码 数据库名 > 导出的文件名` 命令导出数据库。 2. 导入数据库:使用 `mysqldump -u 用户名 -p 数据库名 导入的文件名` 命令导入数据库。 3...
MySQL数据库系统中文乱码问题及解决方案 MySQL数据库系统中文乱码问题是指在使用MySQL数据库系统时,中文字符在存储、传输和显示过程中出现乱码的问题。这种问题的出现是由于字符集和编码方式的不兼容所致。 在...
4.城乡划分代码说明:mysql数据库,树结构存储。包括:编码;名称;全称;所属省,市,区县,街道;拼音首字母;城市类型(直辖市,省会);同级下排序;深度;城乡分类代码及经纬度。 5.三级地址:...
2024最新全国行政区域编码及mysql数据库(省/市/区县) https://www.stats.gov.cn/sj/tjbz/tjyqhdmhcxhfdm/2023/index.html 全国总共有23个省、5个自治区、4个直辖市、2个特别行政区。 此数据包含省市区县数据,共...