CentOS7下通过rpm方式安装MySQL及插入中文问题解决 [原创]
一 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
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工具)
注意:必须使用root用户登陆,使用rpm -i命令安装rpm,先安装mysql-server-rpm,再安装mysql-client-rpm。
1).安装mysql-server-rpm
2).使用cat /root/.mysql_secret查看密码,红框中的为mysql的root用户的随机密码。
3).再安装mysql-client-rpm
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 ‘新密码’
-------------------------------------------------华丽的分割线--------------------------------------------------------------
二 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编码。
2.设置远程客户端的编码格式,一般从远程客户端访问,远程客户端有输入法。设置远程客户端的编码为Unicode(UTF-8),如下图,可以往表中插入中文。
希望本文对你有所帮助,有问题欢迎拍砖~~