千家信息网

CentOS7安装MySQL5.6遇到的问题有哪些

发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,本篇内容介绍了"CentOS7安装MySQL5.6遇到的问题有哪些"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能
千家信息网最后更新 2025年01月23日CentOS7安装MySQL5.6遇到的问题有哪些

本篇内容介绍了"CentOS7安装MySQL5.6遇到的问题有哪些"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

在一测试服务器(centos linux release 7.2.1511)上安装mysql 5.6(5.6.19 mysql community server)时遇到下面错误,这个是因为centos 7的默认数据库已经不再是mysql了,而是mariadb. mysql安装时的mysql lib库与mariadb的库、包冲突了,如下详情所示(省略了大量日志)

[root@azrlnx06 tmp]# rpm -ivh mysql-server-advanced-5.6.20-1.rhel5.x86_64.rpm preparing... ################################# [100%]file /usr/share/mysql/czech/errmsg.sys from install of mysql-server-advanced-5.6.20-1.rhel5.x86_64 conflicts with file from package mariadb-libs-1:5.5.50-1.el7_2.x86_64file /usr/share/mysql/danish/errmsg.sys from install of mysql-server-advanced-5.6.20-1.rhel5.x86_64 conflicts with file from package mariadb-libs-1:5.5.50-1.el7_2.x86_64file /usr/share/mysql/dutch/errmsg.sys from install of mysql-server-advanced-5.6.20-1.rhel5.x86_64 conflicts with file from package mariadb-libs-1:5.5.50-1.el7_2.x86_64file /usr/share/mysql/english/errmsg.sys from install of mysql-server-advanced-5.6.20-1.rhel5.x86_64 conflicts with file from package mariadb-libs-1:5.5.50-1.el7_2.x86_64file /usr/share/mysql/estonian/errmsg.sys from install of mysql-server-advanced-5.6.20-1.rhel5.x86_64 conflicts with file from package mariadb-libs-1:5.5.50-1.el7_2.x86_64file /usr/share/mysql/french/errmsg.sys from install of mysql-server-advanced-5.6.20-1.rhel5.x86_64 conflicts with file from package mariadb-libs-1:5.5.50-1.el7_2.x86_64file /usr/share/mysql/german/errmsg.sys from install of mysql-server-advanced-5.6.20-1.rhel5.x86_64 conflicts with file from package mariadb-libs-1:5.5.50-1.el7_2.x86_64file /usr/share/mysql/greek/errmsg.sys from install of mysql-server-advanced-5.6.20-1.rhel5.x86_64 conflicts with file from package mariadb-libs-1:5.5.50-1.el7_2.x86_64........................................................................................................................................................................file /usr/share/mysql/charsets/macroman.xml from install of mysql-server-advanced-5.6.20-1.rhel5.x86_64 conflicts with file from package mariadb-libs-1:5.5.50-1.el7_2.x86_64file /usr/share/mysql/charsets/swe7.xml from install of mysql-server-advanced-5.6.20-1.rhel5.x86_64 conflicts with file from package mariadb-libs-1:5.5.50-1.el7_2.x86_64

检查是否存在mariadb的相关组件,然后删除mariadb相关组件。如下所示:

[root@azrlnx06 mysql]# more /etc/redhat-release centos linux release 7.2.1511 (core) [root@azrlnx06 mysql]# rpm -qa |grep mariadbmariadb-libs-5.5.50-1.el7_2.x86_64[root@azrlnx06 mysql]# rpm -e mariadb-libs-5.5.50-1.el7_2.x86_64error: failed dependencies:libmysqlclient.so.18()(64bit) is needed by (installed) postfix-2:2.10.1-6.el7.x86_64libmysqlclient.so.18(libmysqlclient_18)(64bit) is needed by (installed) postfix-2:2.10.1-6.el7.x86_64[root@azrlnx06 mysql]# rpm -e mariadb-libs-5.5.50-1.el7_2.x86_64 --nodeps

当然此处删除mariadb-libs-5.5.50-1.el7_2.x86_64组件时遇到依赖错误,遂强制删除该组件,最好使用yum删除mariadb相关组件。然后重新安装mysql时遇到"error: mysql-server-advanced-5.6.20-1.rhel5.x86_64: install failed"错误,如下所示:

[root@azrlnx06 mysql]# cd /tmp[root@azrlnx06 tmp]# lshsperfdata_azrlnx06 jirasetup mysql-server-advanced-5.6.20-1.rhel5.x86_64.rpm[root@azrlnx06 tmp]# rpm -ivh mysql-server-advanced-5.6.20-1.rhel5.x86_64.rpm preparing... ################################# [100%]updating / installing...1:mysql-server-advanced-5.6.20-1.rh################################# [100%]error: unpacking of archive failed on file /usr/bin/innochecksum;582535c8: cpio: read failed - no such file or directoryerror: mysql-server-advanced-5.6.20-1.rhel5.x86_64: install failed[root@azrlnx06 tmp]# clip_image001

对这个错误有点莫名其妙,卸载mysql相关组件后,重新安装mysql,发现缺少perl相关模组。如下所示:

[root@azrlnx06 jirasetup]# rpm -ivh mysql-server-advanced-5.6.20-1.rhel5.x86_64.rpm preparing... ################################# [100%]updating / installing...1:mysql-server-advanced-5.6.20-1.rh################################# [100%]fatal error: please install the following perl modules before executing /usr/bin/mysql_install_db:data::dumper[root@azrlnx06 jirasetup]#

使用yum安装了 perl perl-devel相关包(注意:此处安装mysql时,没有输出安装相关detail的信息,是因为perl相关模组没有安装的缘故,此处还漏掉了安装perl-data-dumper)

[root@azrlnx06 jirasetup]# yum install -y perl perl-devel

安装完perl相关组件后,重新安装mysql,如下所示,安装成功,但是没有输出安装相关detail的信息(因为没有安装perl-data-dumper),启动mysql报错

root@azrlnx06 jirasetup]# rpm -ivh mysql-server-advanced-5.6.20-1.rhel5.x86_64.rpm preparing... ################################# [100%]updating / installing...1:mysql-server-advanced-5.6.20-1.rh################################# [100%][root@azrlnx06 jirasetup]# rpm -ivh mysql-client-advanced-5.6.20-1.rhel5.x86_64.rpm preparing... ################################# [100%]updating / installing...1:mysql-client-advanced-5.6.20-1.rh################################# [100%][root@azrlnx06 ~]# service mysql startstarting mysql............. error! the server quit without updating pid file (/var/lib/mysql/azrlnx06.pid).[root@azrlnx06 ~]#

找到mysql的错误日志,然后检查/var/lib/mysql/azrlnx06.err错误日志,发现如下错误信息:

[root@azrlnx06 mysql]# find / -name *.err/var/lib/mysql/azrlnx06.err/var/log/azure/microsoft.ostcextensions.linuxdiagnostic/2.3.9011/mdsd.err/var/log/azure/microsoft.ostcextensions.linuxdiagnostic/2.3.9013/mdsd.err/var/log/mdsd/mdsd.err[root@azrlnx06 mysql]# more /var/lib/mysql/azrlnx06.err161111 03:28:25 mysqld_safe starting mysqld daemon with databases from /var/lib/mysql2016-11-11 03:28:25 0 [warning] timestamp with implicit default value is deprecated. please use --explicit_defaults_for_timestamp server option (see documentation for more details).2016-11-11 03:28:25 2144 [note] plugin 'federated' is disabled./usr/sbin/mysqld: table 'mysql.plugin' doesn't exist2016-11-11 03:28:25 2144 [error] can't open the mysql.plugin table. please run mysql_upgrade to create it.2016-11-11 03:28:25 2144 [note] innodb: using atomics to ref count buffer pool pages2016-11-11 03:28:25 2144 [note] innodb: the innodb memory heap is disabled2016-11-11 03:28:25 2144 [note] innodb: mutexes and rw_locks use gcc atomic builtins2016-11-11 03:28:25 2144 [note] innodb: memory barrier is not used2016-11-11 03:28:25 2144 [note] innodb: compressed tables use zlib 1.2.32016-11-11 03:28:25 2144 [note] innodb: using linux native aio2016-11-11 03:28:25 2144 [note] innodb: using cpu crc32 instructions2016-11-11 03:28:25 2144 [note] innodb: initializing buffer pool, size = 128.0m2016-11-11 03:28:25 2144 [note] innodb: completed initialization of buffer pool2016-11-11 03:28:25 2144 [note] innodb: the first specified data file ./ibdata1 did not exist: a new database to be created!2016-11-11 03:28:25 2144 [note] innodb: setting file ./ibdata1 size to 12 mb2016-11-11 03:28:25 2144 [note] innodb: database physically writes the file full: wait...2016-11-11 03:28:26 2144 [note] innodb: setting log file ./ib_logfile101 size to 48 mb2016-11-11 03:28:31 2144 [note] innodb: setting log file ./ib_logfile1 size to 48 mb2016-11-11 03:28:37 2144 [note] innodb: renaming log file ./ib_logfile101 to ./ib_logfile02016-11-11 03:28:37 2144 [warning] innodb: new log files created, lsn=457812016-11-11 03:28:37 2144 [note] innodb: doublewrite buffer not found: creating new2016-11-11 03:28:37 2144 [note] innodb: doublewrite buffer created2016-11-11 03:28:37 2144 [note] innodb: 128 rollback segment(s) are active.2016-11-11 03:28:37 2144 [warning] innodb: creating foreign key constraint system tables.2016-11-11 03:28:37 2144 [note] innodb: foreign key constraint system tables created2016-11-11 03:28:37 2144 [note] innodb: creating tablespace and datafile system tables.2016-11-11 03:28:38 2144 [note] innodb: tablespace and datafile system tables created.2016-11-11 03:28:38 2144 [note] innodb: waiting for purge to start2016-11-11 03:28:38 2144 [note] innodb: 5.6.20 started; log sequence number 02016-11-11 03:28:38 2144 [warning] no existing uuid has been found, so we assume that this is the first time that this server has been started. generating a new uuid: ef3b0cd5-a7be-11e6-98b3-000d3a8062fe.2016-11-11 03:28:38 2144 [note] rsa private key file not found: /var/lib/mysql//private_key.pem. some authentication plugins will not work.2016-11-11 03:28:38 2144 [note] rsa public key file not found: /var/lib/mysql//public_key.pem. some authentication plugins will not work.2016-11-11 03:28:38 2144 [note] server hostname (bind-address): '*'; port: 33062016-11-11 03:28:38 2144 [note] ipv6 is available.2016-11-11 03:28:38 2144 [note] - '::' resolves to '::';2016-11-11 03:28:38 2144 [note] server socket created on ip: '::'.2016-11-11 03:28:38 2144 [error] fatal error: can't open and lock privilege tables: table 'mysql.user' doesn't exist161111 03:28:38 mysqld_safe mysqld from pid file /var/lib/mysql/azrlnx06.pid endedclip_image002

搜索了一些相关资料,应该是perl-data-dumper模组没有安装,导致安装过程中,初始化数据库失败,所以启动mysql服务时,找不到相关系统表。具体参考官方文档mysql-server rpm does not install perl-data-dumper as a dependency

description:

mysql-server requires perl-data-dumper to function. however, perl-data-dumper is not listed by the mysql-server rpm as a dependency. so if a linux server does not have perl-data-dumper installed, the install-mysql-db will fail. and because of missing the initial database, the mysql service could not be started.

how to repeat:

on a linux server, make sure there is no perl-data-dumper installed. install mysql-server using yum. there should be error message complaining database could not be created.

suggested fix:

add perl-data-dumper as a dependency of the rpm package

解决方法:

1:安装perl-data-dumper模组。

[root@azrlnx06 mysql]# yum install -y perl-data-dumper

2:初始化数据库

[root@azrlnx06 mysql]# sudo mysql_install_db --user=mysql --basedir=/usr/ --ldata=/var/lib/mysql/clip_image003
[root@azrlnx06 mysql]# service mysql startstarting mysql. success! [root@azrlnx06 mysql]# /usr//bin/mysqladmin -u root password 'qwe!23'warning: using a password on the command line interface can be insecure.

当然也可以卸载mysql,然后重新安装,就能看到安装过程输出的detail信息输出了。

"CentOS7安装MySQL5.6遇到的问题有哪些"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

0