今天在Ubuntu系统上部署了第一个net core的web网站,遇到了mysql入库数据乱码的情况。无奈,ubuntu系统不熟悉,mysql命令不熟悉,只得在网上查找各种资料。还是老规矩,主要参考的网站列表如下:

1. http://www.cnblogs.com/ndxsdhy/archive/2011/11/19/2255111.html

2. http://www.jb51.net/article/74769.htm

3. http://www.2cto.com/database/201501/372615.html

大致的了解了修改编码格式的方法之后,开始着手调整。首先,使用两条命令查看了数据库与服务端的字符集设置。结果如下:

show variables like "%colla%" ;
+----------------------+-------------------+
| Variable_name        | Value             |
+----------------------+-------------------+
| collation_connection | utf8_general_ci   |
| collation_database   | latin1_swedish_ci |
| collation_server     | latin1_swedish_ci |
+----------------------+-------------------+
3 rows in set (0.00 sec)

=============================

show variables like "%char%";
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | latin1                     |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | latin1                     |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

因为我安装mysql是默认安装,根据网上的资料,在/etc/mysql/文件夹下找到了my.cnf(在Windows下是my.ini)。vi my.cnf命令进入编辑,在[client]和[mysqld]中分别添加内容;如下

[client]

default-character-set=utf8

[mysqld]

character-set-server=utf8

init_connect='SET NAMES utf8'

这里需要特别注意,[mysqld]中,不是default-character-set=utf8,而是character-set-server=utf8,不然,重新启动mysql的时候,就会悲剧了,没错,我就是这么悲剧了,才来写这篇文章的。好吧,重启mysql的时候,异常信息如下:

/etc/init.d/mysql restart
stop: Unknown instance:
start: Job failed to start

也出现过如下错误:

/etc/mysql# mysql -u root -p
Enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

这个错误是不是修改my.cnf引起的就不知道了,出现的这个错误后续我也执行了如下命令:

chown -R mysql:mysql /var/lib/mysql

差不多就这些了,有遗漏的再补充吧~希望对想我这样的新手有所帮助!

Ubuntu修改mysql编码格式的更多相关文章

  1. Ubuntu修改mysql默认编码的方法

    ubuntu使用apt-get安装mysql后,server的默认编码是latin1,下面把server的编码修改成utf8. 编码相关信息: 1 2 3 4 5 6 7 8 9 10 11 12 1 ...

  2. ubuntu 修改mysql 5.7数据库密码

    1.vi /ect/mysql/debian 查看debain-sys-maint用户的密码 2.登录mysql 4.切换到mysql数据库,更新 user 表: update user set au ...

  3. ubuntu下修改mysql默认字符编码出现的Job failed to start解决办法

    ubuntu下修改mysql默认字符编码出现的Job failed to start解决办法 前几天卸掉了用了好多年的Windows,安装了Ubuntu12.04,就开始各种搭环境.今天装好了MySQ ...

  4. mysql 修改 character_set_database 编码格式

    操作系统:win10  x64 Server version : 5.5.46 MySQL Community Server (GPL) mysql 修改 character_set_database ...

  5. ubuntu中mysql修改编码utf8

    摘要:Ubuntu Server 服务器下使用apt-get 命令安装的mysql,默认不是utf8.在这里记录一下如何将编码修改成utf8. 办法解决: 1.查看mysql编码 show varia ...

  6. ubuntu下修改mysql默认data路径

    由于ubuntu默认的mysql路径是在/var/lib/mysql下,很多时候我们如果没有挂载其它分区在/var的时候,随着网站逐渐浏览和添加内容,数据容量也会越来越大,自然磁盘空间也会比较吃紧.因 ...

  7. Ubuntu 16.04 装机后如何永久更改ulimit和修改MySQL的存储路径datadir

    Ubuntu 16.04 装机后的配置要点: 1. 网络的配置 2. 更改源列表 3. 永久更改ulimit ulimit限制着程序打开文件的数目,默认情况下为1024,作为服务器使用时,这个数字往往 ...

  8. linux -- Ubuntu查看修改mysql的登录名和密码、安装phpmyadmin

    安装好mysql后,在终端输入 mysql -u root -p 按回车,输入密码后提示access denied......ues password YES/NO的错误 原因是用户名或密码不对! 查 ...

  9. Ubuntu:MySQL与phpmyadmin安装、配置并使用。

    0. 小建议 Ubuntu 16.04.因为MySQL对于Ubuntu 18.04不是很适配,会出现终端MySQL无法输入中文等问题.如果用Ubuntu 18.04,会需要多解决很多细节问题. 建议将 ...

随机推荐

  1. (转)Linux使用RSA密钥登录远程服务器

    一切操作都在本机执行,不需要进入远程主机/服务器~~ 1.生成密钥.默认生成的是rsa加密. ssh-keygen 2.私钥是给本地的,公钥是给远程的.下面将公钥上传到远程服务器 ~ ssh-copy ...

  2. vue初学之node.js安装、cnpm安装、vue初体验

    1. 如果本机没有安装node运行环境,请下载node 安装包进行安装.地址:https://nodejs.org/en/ 2.装完,使用cmd命令行输入:node -v回车 如果输出版本号则成功. ...

  3. [转]async & await 的前世今生(Updated)

    async 和 await 出现在C# 5.0之后,给并行编程带来了不少的方便,特别是当在MVC中的Action也变成async之后,有点开始什么都是async的味道了.但是这也给我们编程埋下了一些隐 ...

  4. 关于Loadrunner非常好的英文网站

    关于Loadrunner非常好的英文网站 今天无意间在一个测试同行的BLOG中发现了这个网站的链接: http://www.wilsonmar.com/1loadrun.htm 非常棒的一个网站,里面 ...

  5. postgresql计算2个日期之间工作日天数的方法

    select date_part( 'day', minus_weekend(begin_date,end_date)) from table1 where name in ('a', 'b', 'c ...

  6. 基于 RocketMQ 的同城双活架构在美菜网的挑战与实践

    本文整理自李样兵在北京站 RocketMQ meetup分享美菜网使用 RocketMQ 过程中的一些心得和经验,偏重于实践. 嘉宾李样兵,现就职于美菜网基础服务平台组,负责 MQ ,配置中心和任务调 ...

  7. C++ 判断是否为邮箱格式

    总结了一下合法的email地址格式如下: 1. 首字符必须用字母,而且其它的字符只能用26个大小写字母.0~9及_-.@符号 2. 必须包含一个并且只有一个符号“@” 3. @后必须包含至少一个至多三 ...

  8. raft学习

    http://thesecretlivesofdata.com/raft/ 选举 角色:  leader 领导者 Follower跟随者  Candidate候选者 如果跟随者在一定时间内,么有收到领 ...

  9. JS的 try catch 前端使用场景(尽管不多还是会用到)

    try{ //正常执行 }catch(e/*你感觉会出错的 错误类型*/){ // 可能出现的意外 eg:用户自己操作失误 或者 函数少条件 不影响下面的函数执行 // 有时也会用在 比如 focus ...

  10. CreateProcess函数详解及示例

    WIN32API函数CreateProcess用来创建一个新的进程和它的主线程,这个新进程运行指定的可执行文件. 函数原型: BOOL CreateProcess ( LPCTSTR lpApplic ...