在从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;