CentOS7下通过rpm方式安装MySQL及插入中文问题解决 [原创]

时间:2022-01-13 16:20:10

一 CentOS下通过rpm方式安装MySQL

CentOS版本:CentOS-7

MySQL版本:MySQL-5.6.22

在网上搜了一下,Linux下安装MYSQL有三种方式:

1) 通过yum命令在线下载安装

2) 下载离线rpm安装包安装

3) 下载源码编译安装

方式1不打算用,因为我们大部分项目服务器是不能直接上Internet的,网上关于在线安装的教程很多,方式3对于只要应用MYSQL的人来说没必要多此一举。

1. 解压下载的zip包,会发现有以下几个rpm包:

MySQL-client-advanced-5.6.22-1.el7.x86_64.rpm

MySQL-devel-advanced-5.6.22-1.el7.x86_64.rpm

MySQL-embedded-advanced-5.6.22-1.el7.x86_64.rpm

MySQL-server-advanced-5.6.22-1.el7.x86_64.rpm

MySQL-shared-advanced-5.6.22-1.el7.x86_64.rpm

MySQL-shared-compat-advanced-5.6.22-1.el7.x86_64.rpm

MySQL-test-advanced-5.6.22-1.el7.x86_64.rpm

2. 卸载MariaDB

如果直接点击rpm包安装会得到错误提示。因为CentOS的默认数据库已经不再是MySQL了,而是MariaDB,为什么呢?

MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。

查看当前安装的mariadb包:

[root@bogon 桌面]# rpm -qa | grep mariadb

将它们统统强制性卸载掉:

[root@bogon 桌面]# rpm -e --nodeps mariadb-libs-5.5.35-3.el7.x86_64

[root@bogon 桌面]# rpm -e --nodeps mariadb-5.5.35-3.el7.x86_64

[root@bogon 桌面]# rpm -e --nodeps mariadb-server-5.5.35-3.el7.x86_64

CentOS7下通过rpm方式安装MySQL及插入中文问题解决 [原创]

3. 安装MYSQL

双击下面三个包进行自动安装:

MySQL-server-advanced-5.6.22-1.el7.x86_64.rpm

MySQL-client-advanced-5.6.22-1.el7.x86_64.rpm

MySQL-devel-advanced-5.6.22-1.el7.x86_64.rpm(可以不安装)

提示:其实第二个包devel我也不知道是干什么的,也不知道是不是必须的(上网搜了一下应该不是必须的),没有测试是否必须就已经点来装上了,也不想花时间去测试是否必须了,有测试过的朋友麻烦留言告知。

先将mysql-rpm包传到虚拟机上(使用xmanager工具)

CentOS7下通过rpm方式安装MySQL及插入中文问题解决 [原创]

注意:必须使用root用户登陆,使用rpm -i命令安装rpm,先安装mysql-server-rpm,再安装mysql-client-rpm。

1).安装mysql-server-rpm

CentOS7下通过rpm方式安装MySQL及插入中文问题解决 [原创]

CentOS7下通过rpm方式安装MySQL及插入中文问题解决 [原创]

2).使用cat /root/.mysql_secret查看密码,红框中的为mysql的root用户的随机密码。

CentOS7下通过rpm方式安装MySQL及插入中文问题解决 [原创]

3).再安装mysql-client-rpm

CentOS7下通过rpm方式安装MySQL及插入中文问题解决 [原创]

4. 启动MYSQL

[root@bogon 桌面]#service mysql start

得到错误:ERROR!The server quit without updating PID file

我们这里主要是因为:selinux惹的祸,如果是centos系统,默认会开启selinux。解决方法是关闭它,打开/etc/selinux/config,把SELINUX=enforcing改为SELINUX=disabled后存盘退出重启机器。

然后再启动mysql就没问题了:

[root@bogon 桌面]#service mysql start

查看MySQL运行状态:

[root@bogon 桌面]# service mysql status

SUCCESS! MySQL running (2377)

5.修改mysql的root用户的密码

在shell下执行:mysqladmin -u root -p’原密码’password ‘新密码’

CentOS7下通过rpm方式安装MySQL及插入中文问题解决 [原创]

-------------------------------------------------华丽的分割线--------------------------------------------------------------

二 MySQL中文问题解决

1.在CentOS7中修改文件/usr/my.cnf,在[mysqld],[mysql],[client]下分别添加如下内容

[mysqld]

character_set_server = utf8

[mysql]

default-character-set=utf8

[client]

default-character-set=utf8

修改完成后,重启mysql服务,service mysql restart,然后进入mysql,

使用show variables like ‘character%’查看MySQL的所有字符编码,除了character_set_filesystem和character_set_dir外,其余都位utf8编码。

CentOS7下通过rpm方式安装MySQL及插入中文问题解决 [原创]

2.设置远程客户端的编码格式,一般从远程客户端访问,远程客户端有输入法。设置远程客户端的编码为Unicode(UTF-8),如下图,可以往表中插入中文。

CentOS7下通过rpm方式安装MySQL及插入中文问题解决 [原创]

希望本文对你有所帮助,有问题欢迎拍砖~~