【MySQL】Centos7+MySQL5.6安装(RPM方式安装)

此文介绍的是使用rpm的方式安装mysql,并不涉及到yum,如需查找yum方式的同学可跳过此文。

1、安装环境:

操作系统:CentOS 7 x64
数据库:MySQL 5.6

2、卸载MariaDB

在CentOS 7版本之后,系统自带的数据库不再是MySQL,而是MariaDB,MariaDB其实是MySQL的一个分支,主要由开源社区维护,并采用GPL授权许可。
开发这个分支的主要原因之一是:Oracle收购MySQL后,有将MySQL闭源的风险,因此开源社区采用分支的方式来避开这个风险。
MariaDB的目标是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的替代品。

查看当前的MariaDB包:

#rpm -qa | grep mariadb

并将其所有包都卸载:

#rpm -e --nodeps mariadb-*
3、安装MySQL

使用该命令安装server,-ivh 后面是文件名

# rpm -ivh MySQL-server-advanced-5.6.24-1.el7.x86_64.rpm 

此版本的mysql的默认配置文件在/usr/my.cnf,控制台输出有说明。
如果mysql已经启动,可通过以下命令验证

 ps -aux | grep mysqld 

通过该命令安装client

# rpm -ivh MySQL-client-advanced-5.6.24-1.el7.x86_64.rpm 
注意:如果安装的时候出现以下错误:
FATAL ERROR: please install the following Perl modules before executing /usr/bin/mysql_install_db:Data::Dumper

那么可以使用

#yum install -y perl-Module-Install.noarch

来解决

4、启动MySQL服务

在启动之前,需要先将selinux关闭,在CentOS中selinux会默认开启,如果开启了selinux,启动MySQL会报ERROR!The server quit without updating PID file的错误
打开/etc/selinux/config,将SELINUX=enforcing改为SELINUX=disabled,保存退出。

还有一个步骤就是初始化
使用该命令初始化数据库即可

#mysql_install_db --user=mysql

之后就可以开启数据库服务了
CentOS 7版本后,服务开启的方法是systemctl start mysql,但试过用老的方法service mysqld start也可以

之后就可以使用以下命令更改数据库密码了

#mysqladmin -u root password '123456'

更改完密码之后就可以mysql -uroot -p登录了

5、以下贴出一些较常见的问题和解决方案
问题一:

[root@localhost install-files]# rpm -ivh MySQL-server-5.6.27-1.el6.x86_64.rpm
Preparing... ################################# [100%]
file /usr/share/mysql/charsets/README from install of MySQL-server-5.6.27-1.el6.x86_64 conflicts with file from package mariadb-libs-1:5.5.41-2.el7_0.x86_64
file /usr/share/mysql/czech/errmsg.sys from install of MySQL-server-5.6.27-1.el6.x86_64 conflicts with file from package mariadb-libs-1:5.5.41-2.el7_0.x86_64
……………………

解决方案:

出现以上安装错误列表的原因是:系统已经安装了其他版本的mysql-libs包和mysql数据库文件导致不兼容。

[root@localhost install-files]# yum remove mysql-libs  

执行之后,还要详细检查卸载MySQL安装的所有文件,否则在后续安装发生各种错误,关于卸载,可以参考这篇文章:http://blog.csdn.net/typa01_kk/article/details/49057073

问题二:

[root@Tony_ts_tian developer]# rpm -ivh MySQL-server-5.5.46-1.el6.x86_64.rpm
warning: MySQL-server-5.5.46-1.el6.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing... ########################################### [100%]
1:MySQL-server ########################################### [100%]

解决方案:

从 rpm版本 4.1 开始,在安装或升级软件包时会检查软件包的签名。如果签名校验失败,你就会看到类似以上的错误消息:
注:新的、只针对文件头的签名:错误消息:error: Header V3 DSA signature: BAD, key ID 0352860f
注:没有安装合适的钥匙来校验签名,消息中就会包含 NOKEY:错误消息:warning: V3 DSA signature: NOKEY, key ID 0352860f
由于yum安装了旧版本的GPG keys造成的,解决办法就是(设置后无效):

rpm --import /etc/pki/rpm-gpg/RPM* 

此签名是检验安装包的有效性和安装性的。我直接跳过(安装时不校验,加--nosignature参数)检验安装:

[root@localhost install-files]# rpm -ivh MySQL-server-5.6.27-1.el6.x86_64.rpm --nosignature
问题三:

mysqld: unrecognized service

# service mysqld start  
mysqld: unrecognized service  
解决方案:

启动脚本文件mysql的目录

[root@localhost install-files]# cd /etc/rc.d/init.d/  
[root@localhost init.d]# ls  
functions  mysql  netconsole  network  README

发现并没有mysqld:

# service mysql start 

也可以:

# mv mysql mysqld  
# service mysqld start  
问题四:

[root@localhost install-files]# rpm -ivh MySQL-server-5.6.27-1.el6.x86_64.rpm --nosignature
Preparing... ################################# [100%]
Updating / installing...
1:MySQL-server-5.6.27-1.el6 ################################# [100%]
warning: user mysql does not exist - using root
warning: group mysql does not exist - using root
FATAL ERROR: please install the following Perl modules before executing /usr/bin/mysql_install_db:
Data::Dumper

解决方案:
# yum install -y perl-Module-Install.noarch
问题五:
[root@localhost mysql]# service mysql start
Starting MySQL... ERROR! The server quit without updating PID file (/var/lib/mysql/localhost.localdomain.pid).
解决方案:

查看/var/lib/mysql/中的数据文件是否完整,这很大部分原因是之前的数据库卸载不完全导致,需要完全卸载数据库,然后重新安装

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容