最近捣腾了一个服务器,想来玩玩Node + Mysql, 服务器: CentOS7mysql
centos7没有mysql的yum源,因此咱们直接从网上下载mysql的repo源,sql
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
复制代码
咱们使用wget从网上下载了rpm包后,咱们就能够用下面这个命令安装rpm包数据库
sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm
复制代码
安装好这个rpm包后,开始安装mysql-servercentos
sudo yum install mysql-server
复制代码
接下来就等待自动下载安装了。在中间会出现两个须要选择的地方都填“y”回车就行,而后就会显示安装成功。bash
安装好后,咱们须要重置密码服务器
mysql -u root
复制代码
登陆时有可能报这样的错:微信
ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock‘
复制代码
缘由是/var/lib/mysql的访问权限问题。下面的命令把/var/lib/mysql的拥有者改成当前用户:socket
$ sudo chown -R root:root /var/lib/mysql
复制代码
$ service mysqld restart
复制代码
$ mysql -u root
mysql > use mysql;
mysql > update user set password=password('123456') where user='root';
mysql > exit;
复制代码
到此,咱们就完成了mysql的安装,以及密码的设置;测试
// 中止mysql数据库
service mysqld stop
// 重启mysql数据库
service mysqld restart
// 开启mysql数据库
service mysql start
复制代码
那么接下来咱们进入mysql进行数据查询和插入呢。ui
进入数据库
$ mysql -uroot -p
Enter password:123456
复制代码
mysql > insert into user values(1,'筱筱','女',24);
ERROR 1366 (HY000): Incorrect string value: '\xC0\xEE\xC7\xBF' for column 'SNAME' at row 1
复制代码
你会获得这样一个错误;为何呢?
咱们使用\s命令查看数据库的状态;
mysql > \s
复制代码
能够看到当前数据库为mysql,而后Server characterset和Db characterset都是latin1,不是gbk。咱们来看看latin1是什么编码方式;
mysql > show character set;
复制代码
能够看出latin1是西欧编码规则,不是中文的编码,所以咱们这里才会乱码了。gbk,是简体中文编码。 因此咱们在向表中插入中文时,确定会遇到这个坑。
那么咱们要怎么处理呢? 修改编码,改成gbk,或者utf8,我这里是改为了utf8哈
alter database mysql character set utf8;
复制代码
那么接下来咱们能够测试哈向数据库插入中文字符
insert into user values(1,'筱筱','女',24);
复制代码
可是你会发现仍是不对,为何呢?
那是由于你在新建user表字段的时候,默认的编码仍是为修改以前的latin1,因此咱们须要修改表的编码,使用navicat打开design table,而后修改字段编码
接下来,咱们在测试一下刚刚的插入语句
insert into user values(1,'筱筱','女',24);
复制代码
OK,大功告成! 若是你有更好的处理方式能够留言, 关注微信公众号可查看更多内容。