修改mysql编码方式centos_CentOS下修改mysql数据库编码为UTF-8(附mysql开启远程链接和开放3306端口)...
楼主在配置好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端口)...相关推荐
- mysql允许远程链接,开放3306端口
一.开放3306端口 1.首先查看端口是否打开 netstat -an|grep 3306 此图为开启3306端口的截图: 2.打开mysql配置文件 将bind-address = 127.0.0. ...
- 打开mysql3306库报错_允许远程链接mysql,开放3306端口
首先查看端口是否打开 netstat -an|grep 3306 此图为开启3306端口的截图,之前显示为. . . 127.0.0.1:3306 . . . 打开mysql配置文件vi /etc/m ...
- 开放防火墙的端口号mysql_linux下mysql开启远程访问权限及防火墙开放3306端口
Linux 防火墙开放特定端口 (iptables) iptables是linux下的防火墙,同时也是服务名称. service iptables status 查看防火墙状 ...
- linux下mysql开启远程访问权限及防火墙开放3306端口(mysql开放host访问权限)
开启mysql的远程访问权限 默认mysql的用户是没有远程访问的权限的,因此当程序跟数据库不在同一台服务器上时,我们需要开启mysql的远程访问权限. 主流的有两种方法,改表法和授权法.相对而言,改 ...
- linux系统上的mysql开启远程链接
文章目录 前言 1.使用root登陆mysql 2.更新root账号密码 3.开启root账号远程登陆权限 4.开启3306端口访问权限 前言 今天接手一个项目,需要在本地用连接liunx服务器上的m ...
- mysql:windows开放3306端口
文章目录 mysql:windows开放3306端口 一.创建入站规则 二.开启数据库权限 mysql:windows开放3306端口 在开启防火墙的状态下开放3306端口 一.创建入站规则 点击入站 ...
- firewall mysql端口_Centos7 firewall开放3306端口
Centos7 firewall开放3306端口 在 Centos 7 中防火墙由 firewalld 来管理,而不是 iptables. 1. 查看防火墙状态 firewall-cmd --stat ...
- linux mysql5.6 编码_CentOS 7下修改MySQL5.6编码方式 解决网站中文显示问号
解决办法: CentOS 7下修改MySQL数据库字符编码为UTF-8,UTF-8包含全世界所有国家需要用到的字符,是国际编码. 具体操作: 1.进入MySQL控制台 mysql -u root - ...
- linux mysql 数据文件,Linux下修改MySQL数据库数据文件路径的步骤
使用rpm安装方式安装完MySQL数据库后,数据文件的默认路径为/var/lib/mysql,然而根目录并不适合用于存储数据文件. 原路径:/var/lib/mysql 目标路径:/home/mysq ...
最新文章
- Your Feedback Report at Adecco
- php 设置session目录,php设置session保存目录的方法
- python训练模型测试模型_python 机器学习中模型评估和调参
- 久谦咨询python笔试题目_python笔试含答案
- 年纪轻轻却突然猝死?数据分析告诉你“猝死”离我们到底有多近?
- Oracle预定义的21个系统异常类型
- matlab 工具函数(一) —— 添加指定 SNR 的噪声
- Python批处理文件
- 6. lcd驱动1-硬件原理
- 计算机组装配置兼容,电脑组装时怎么选择配置主板
- GRUB4DOS 0.4.5c 2014-01-17.问题解决
- shineblink BH1750光照强度传感器
- HDU2099-整除的尾数
- 培训html源码,前端培训——html源码笔记
- 001 生来天缺之相,剑庐铸剑童子
- Linux命令 - userdel命令
- Python数据处理课程设计-房屋价格预测
- 如何恢复SQL SERVER的系统数据库
- 【TS】不能将类型“() => () => JSX.Element”分配给类型“FC<any>”
- Unity UGUI自制日历控件 带农历日期
热门文章
- python opencv屏幕找图_使用Python+OpenCV进行图像模板匹配(Match Template)实例-找到百度首页按钮并点击...
- linux7设备的挂载,centos7磁盘分区与挂载解析
- 统计各个函数的耗时_分享一次CMS GC耗时狠高优化过程全记录
- 怎样用u盘linux安装ntp协议,电脑中怎么配置NTP服务
- 了解下广告计费模式CPC、CPA和CPM
- svn 1.6 linux 下载,LINUX下Subversion1.6.17 部署
- 安徽阜阳计算机高中学校排名,安徽阜阳排名靠前的三大高中,有争议?2020年高考成绩说话!...
- 中专计算机专业学c语言吗,中专计算机专业学什么 有哪些课程
- extjs tree 遍历树节点并设置选中
- 模态对话框和全选反选