楼主在配置好linux云服务器的jdk,tomcat,mysql后,当要开始部署项目是,忽然意识到一个很严重的问题,那就是数据库的编码问题,自安装完成后并未修改数据库的额编码。。。。下面就来讲说linux下修改mysql的编码问题吧。。有一个问题网上不少地方都没说到,详情请继续往下看。php

1、登陆MySQL查看用SHOW VARIABLES LIKE ‘character%’;下字符集,显示以下:

+--------------------------+----------------------------+

| 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/ |

+--------------------------+----------------------------+

character_set_database和character_set_server的默认字符集仍是latin1。mysql

2、最简单的完美修改方法,修改mysql的my.cnf文件中的字符集键值(注意配置的字段细节):

一、在[client]字段里加入default-character-set=utf8,以下:

[client]

port = 3306

socket = /var/lib/mysql/mysql.sock

default-character-set=utf8

二、在[mysqld]字段里加入character-set-server=utf8,以下:

[mysqld]

port = 3306

socket = /var/lib/mysql/mysql.sock

character-set-server=utf8

三、在[mysql]字段里加入default-character-set=utf8,以下:

[mysql]

no-auto-rehash

default-character-set=utf8

修改完成后,service mysql restart重启mysql服务就生效。注意:[mysqld]字段与[mysql]字段是有区别的。这点在网上没人反馈过。linux

使用SHOW VARIABLES LIKE ‘character%’;查看,发现数据库编码全已改为utf8。

+--------------------------+----------------------------+

| Variable_name | Value |

+--------------------------+----------------------------+

| character_set_client | utf8 |

| character_set_connection | utf8 |

| character_set_database | utf8 |

| character_set_filesystem | binary |

| character_set_results | utf8 |

| character_set_server | utf8 |

| character_set_system | utf8 |

| character_sets_dir | /usr/share/mysql/charsets/ |

+--------------------------+----------------------------+

四、若是上面的都修改了还乱码,那剩下问题就必定在connection链接层上。解决方法是在发送查询前执行一下下面这句(直接写在SQL文件的最前面):

SET NAMES 'utf8';sql

它至关于下面的三句指令:

SET character_set_client = utf8;

SET character_set_results = utf8;

SET character_set_connection = utf8;

网上不少其余方法不能完全解决这个问题,这个能够完美解决!数据库

附:mysql开启远程链接和开放3306端口tomcat

CentOS下开启mysql远程链接,远程管理数据库

当服务器没有运行php、没装phpmyadmin的时候,远程管理mysql就显得有必要了。由于在CentOS下设置的,因此标题加上了CentOS,如下的命令在debian等系统下应该也OK。

mysql -u root -p mysql# 第1个mysql是执行命令,第2个mysql是系统数据名称

在mysql控制台执行:

grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;

# root是用户名,%表明任意主机,'123456'指定的登陆密码(这个和本地的root密码能够设置不一样的,互不影响)

flush privileges;# 重载系统权限

exit;

容许3306端口

iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT安全

# 查看规则是否生效

iptables -L -n # 或者: service iptables status

# 此时生产环境是不安全的,远程管理以后应该关闭端口,删除以前添加的规则

iptables -D INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT

PS,上面iptables添加/删除规则都是临时的,若是须要重启后也生效,须要保存修改:

service iptables save # 或者: /etc/init.d/iptables save

另外,

vi /etc/sysconfig/iptables # 加上下面这行规则也是能够的

-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT服务器

修改mysql编码方式centos_CentOS下修改mysql数据库编码为UTF-8(附mysql开启远程链接和开放3306端口)...相关推荐

  1. mysql允许远程链接,开放3306端口

    一.开放3306端口 1.首先查看端口是否打开 netstat -an|grep 3306 此图为开启3306端口的截图: 2.打开mysql配置文件 将bind-address = 127.0.0. ...

  2. 打开mysql3306库报错_允许远程链接mysql,开放3306端口

    首先查看端口是否打开 netstat -an|grep 3306 此图为开启3306端口的截图,之前显示为. . . 127.0.0.1:3306 . . . 打开mysql配置文件vi /etc/m ...

  3. 开放防火墙的端口号mysql_linux下mysql开启远程访问权限及防火墙开放3306端口

    Linux 防火墙开放特定端口 (iptables)     iptables是linux下的防火墙,同时也是服务名称. service  iptables  status        查看防火墙状 ...

  4. linux下mysql开启远程访问权限及防火墙开放3306端口(mysql开放host访问权限)

    开启mysql的远程访问权限 默认mysql的用户是没有远程访问的权限的,因此当程序跟数据库不在同一台服务器上时,我们需要开启mysql的远程访问权限. 主流的有两种方法,改表法和授权法.相对而言,改 ...

  5. linux系统上的mysql开启远程链接

    文章目录 前言 1.使用root登陆mysql 2.更新root账号密码 3.开启root账号远程登陆权限 4.开启3306端口访问权限 前言 今天接手一个项目,需要在本地用连接liunx服务器上的m ...

  6. mysql:windows开放3306端口

    文章目录 mysql:windows开放3306端口 一.创建入站规则 二.开启数据库权限 mysql:windows开放3306端口 在开启防火墙的状态下开放3306端口 一.创建入站规则 点击入站 ...

  7. firewall mysql端口_Centos7 firewall开放3306端口

    Centos7 firewall开放3306端口 在 Centos 7 中防火墙由 firewalld 来管理,而不是 iptables. 1. 查看防火墙状态 firewall-cmd --stat ...

  8. linux mysql5.6 编码_CentOS 7下修改MySQL5.6编码方式 解决网站中文显示问号

    解决办法: CentOS 7下修改MySQL数据库字符编码为UTF-8,UTF-8包含全世界所有国家需要用到的字符,是国际编码. 具体操作: 1.进入MySQL控制台 mysql  -u root - ...

  9. linux mysql 数据文件,Linux下修改MySQL数据库数据文件路径的步骤

    使用rpm安装方式安装完MySQL数据库后,数据文件的默认路径为/var/lib/mysql,然而根目录并不适合用于存储数据文件. 原路径:/var/lib/mysql 目标路径:/home/mysq ...

最新文章

  1. Your Feedback Report at Adecco
  2. php 设置session目录,php设置session保存目录的方法
  3. python训练模型测试模型_python 机器学习中模型评估和调参
  4. 久谦咨询python笔试题目_python笔试含答案
  5. 年纪轻轻却突然猝死?数据分析告诉你“猝死”离我们到底有多近?
  6. Oracle预定义的21个系统异常类型
  7. matlab 工具函数(一) —— 添加指定 SNR 的噪声
  8. Python批处理文件
  9. 6. lcd驱动1-硬件原理
  10. 计算机组装配置兼容,电脑组装时怎么选择配置主板
  11. GRUB4DOS 0.4.5c 2014-01-17.问题解决
  12. shineblink BH1750光照强度传感器
  13. HDU2099-整除的尾数
  14. 培训html源码,前端培训——html源码笔记
  15. 001 生来天缺之相,剑庐铸剑童子
  16. Linux命令 - userdel命令
  17. Python数据处理课程设计-房屋价格预测
  18. 如何恢复SQL SERVER的系统数据库
  19. 【TS】不能将类型“() => () => JSX.Element”分配给类型“FC<any>”
  20. Unity UGUI自制日历控件 带农历日期

热门文章

  1. python opencv屏幕找图_使用Python+OpenCV进行图像模板匹配(Match Template)实例-找到百度首页按钮并点击...
  2. linux7设备的挂载,centos7磁盘分区与挂载解析
  3. 统计各个函数的耗时_分享一次CMS GC耗时狠高优化过程全记录
  4. 怎样用u盘linux安装ntp协议,电脑中怎么配置NTP服务
  5. 了解下广告计费模式CPC、CPA和CPM
  6. svn 1.6 linux 下载,LINUX下Subversion1.6.17 部署
  7. 安徽阜阳计算机高中学校排名,安徽阜阳排名靠前的三大高中,有争议?2020年高考成绩说话!...
  8. 中专计算机专业学c语言吗,中专计算机专业学什么 有哪些课程
  9. extjs tree 遍历树节点并设置选中
  10. 模态对话框和全选反选