CentOS下安装mysql

440 阅读2分钟

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 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进行数据查询和插入呢。

操作Mysql

进入数据库

$ 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,大功告成! 如果你有更好的处理方式可以留言, 关注微信公众号可查看更多内容。