CentOS下安装mysql
最近捣腾了一个服务器,想来玩玩Node + Mysql, 服务器: CentOS7
下载mysql的repo源
centos7没有mysql的yum源,所以我们直接从网上下载mysql的repo源,
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm 复制代码
安装rpm包
我们使用wget从网上下载了rpm包后,我们就可以用下面这个命令安装rpm包
sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm复制代码
安装mysql-server
安装好这个rpm包后,开始安装mysql-server
sudo yum install mysql-server复制代码
接下来就等待自动下载安装了。在中间会出现两个需要选择的地方都填“y”回车就行,然后就会显示安装成功。
重置mysql密码
安装好后,我们需要重置密码
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的拥有者改为当前用户:
$ sudo chown -R root:root /var/lib/mysql复制代码
重启mysql服务
$ service mysqld restart复制代码
登录重置密码
$ mysql -u rootmysql > 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进行数据查询和插入呢。
操作Mysql
进入数据库
$ mysql -uroot -pEnter 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,大功告成! 如果你有更好的处理方式可以留言, 关注微信公众号可查看更多内容。