红联Linux门户
Linux帮助

在Ubuntu 15.10下安装mysql设置数据库编码

发布时间:2016-01-15 16:02:33来源:linux网站作者:Jagery

在从windows 10 的开发环境换到Ubuntu 15.10 后,发现原来的项目竟然不能正常地对数据库进行初始化,后来在控制台查看后,发现是数据库编码的问题。


1.在Ubuntu中安装mysql可以使用apt-get来安装,也可以通过在mysql官网下载deb包来安装。下载的deb包有很多个,通过使用dpkg -i 安装后,会发现会有安装错误的提示。这时需要使用apt-get -f install 来修复安装相应缺少的依赖包 
tar xvf mysql-server_5.7.10-1ubuntu15.10_amd64.deb-bundle.tar
sudo dpkg -i *.deb
sudo apt-get -f install

安装过程中,会提示设置超级管理员密码。


2.在安装好后,需要对mysql进行编码设置,通过编写/ect/mysql/mysql.conf.d/mysqld.conf文件来对数据库的编码设置默认的编码。只需要在[mysqld]下添加一行character_set_server=gbk就ok了 
[mysqld]
user   = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket   = /var/run/mysqld/mysqld.sock
port   = 3306
basedir    = /usr
datadir    = /var/lib/mysql
tmpdir   = /tmp
lc-messages-dir  = /usr/share/mysql
explicit_defaults_for_timestamp
character_set_server=gbk


3.之后,我们需要将mysql服务重启一下 
sudo service mysql restart
重启后,使用mysql登陆到数据库中验证是否已经成功将编码设置 
mysql -u root -p

use db ;
status ;

将会显示出来数据库的相关信息: 
mysql  Ver 14.14 Distrib 5.7.10, for Linux (x86_64) using  EditLine wrapper

Connection id:     27
Current database: 
Current user:      root@localhost
SSL:            Not in use
Current pager:     stdout
Using outfile:     ''
Using delimiter:   ;
Server version:        5.7.10 MySQL Community Server (GPL)
Protocol version:  10
Connection:     Localhost via UNIX socket
Server characterset:   gbk
Db     characterset:   gbk
Client characterset:   utf8
Conn.  characterset:  utf8
UNIX socket:       /var/run/mysqld/mysqld.sock
Uptime:         28 min 1 sec

Threads: 20  Questions: 361  Slow queries: 0  Opens: 223  Flush tables: 1  Open tables: 98  Queries per second avg: 0.214


4.如果项目还是不能正常运行,我们可以将数据库删除后,再创建一个新的,并指定编码 
drop database db if exists db ;
create datasbase db DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;