Linux(CenterOS 6.5)服务器安装Mysql5.6

昨天遇到一个字符串编码的问题,mysql5.1版本不支持emoji表情字符的存储,出现了如下的错误:

java.sql.SQLException: Incorrect string value: '\xF0\x9F\x92\x94' for column '***' at row 1  
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073)  
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3593)  
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3525)  
    at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1986)  
    at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2140)  
    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2620)  
    at com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1662)  
    at com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1581)

此异常的原因
字符集不支持的异常。因为UTF-8编码有可能是两个、三个、四个字节,其中Emoji表情是4个字节,而Mysql的utf8编码最多3个字节,所以导致了数据插不进去。
解决方案
参考网上的资料 ,大部分的解决方法是修编编码为utf8mb4的编码,但是只有mysql 5.5以上的版本才支持此编码格式,所以要对数据库进行升级。


服务器的系统是CentOS 6.5 , 在安装数据库的时候就遇到各种问题,网上的文章大都是彼此复制,复杂且没有办法解决我所遇到的问题,所以写这篇文章记录一下。

说一下需要的东西吧:
mysql 安装包:点击下载

实际上,我只需要在服务器上安装一个mysql server就可以,下载此包解压后,配置一下账号密码,创建一下数据库,并开放远程访问端口即可。

第一步、安装mysql

直接上命令吧:
//下载mysql安装包,毕竟服务器的速度比本地快的多,直接wget一下就好
wget http://cdn.mysql.com//Downloads/MySQL-5.6/mysql-5.6.27-linux-glibc2.5-i686.tar.gz
//解压到当前目录,解压后会生成一个同名的文件夹
tar zxvf mysql-5.6.27-linux-glibc2.5-i686.tar.gz
//将解压文件拷贝到本地账户的文件夹中
cp mysql-5.6.27-linux-glibc2.5-i686 /usr/local/mysql -r
//添加组、用户等等,这一步操作网上的安装教程都有,我之前已经添加过了,在此次安装中就没有添加
groupadd mysql
useradd -r -g mysql mysql
//进入本地mysql文件夹
 cd /usr/local/mysql
//将修改权限改成mysql用户
chown -R mysql:mysql ./
//安装
./scripts/mysql_install_db --user=mysql
//安装完成之后 将支持文件拷贝到/etc/init.d/mysql下
cp support-files/mysql.server /etc/init.d/mysql

至此 ,基本就算安装完成了 ,下面是检验安装成功与配置了

检验安装与配置MySQL

检验安装的方法,最简单的就是直接启动mysql

service mysql start

看到 SUCCESS 就是成功了,如果出现错误,就去搜一下对应的解决方案。

设置密码

./bin/mysqladmin -u root password '********'

开放3306端口

vi /etc/sysconfig/iptables
//添加以下内容
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
//重新启动iptables
service iptables restart

//修改my.cnf,在[mysqld]下添加以下内容
skip-name-resolve
skip-grant-tables

登陆mysql

cd /usr/local/mysql/bin
//登陆mysql
./mysql -u root -p
//输入刚才设定的密码,登陆

数据库账户授权远程连接
登陆mysql之后,通过sql语句进行授权:

CREATE USER 'username'@'host' IDENTIFIED BY 'password';

说明:username – 你将创建的用户名, host – 指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost, 如 果想让该用户可以从任意远程主机登陆,可以使用通配符%. password – 该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登 陆服务器.

好了 至此,数据库安装配置完成,用Navicat链接一下:

连接测试

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值