CentOS7安装MySQL冲突和问题解决小结

问题1: [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
file /usr/share/mysql/danish/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 file /usr/share/mysql/charsets/macce.xml 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/charsets/macroman.xml 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/charsets/swe7.xml 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
…………………… 解决1: 出现以上安装错误列表的原因是:系统已经安装了其他版本的mysql-libs包和mysql数据库文件导致不兼容。

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

执行之后,还要详细检查卸载MySQL安装的所有文件,否则在后续安装发生各种错误: CentOS下MySQL的彻底卸载 问题2: [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%] 解决2: 从 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

问题3: mysqld: unrecognized service
[root@Tony_ts_tian init.d]# service mysqld start mysqld: unrecognized service

解决3:
启动脚本文件mysql的目录
[root@localhost install-files]# cd /etc/rc.d/init.d/ [root@localhost init.d]# ls functionsmysqlnetconsolenetworkREADME

并没有mysqld:
[root@Tony_ts_tian init.d]# service mysql start

启动成功: 也可以:
[root@Tony_ts_tian init.d]# mv mysql mysqld [root@Tony_ts_tian init.d]# service mysqld start

问题4: [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
解决4:
[root@localhost install-files]# yum install -y perl-Module-Install.noarch

问题5: [root@localhost mysql]# service mysql start
Starting MySQL... ERROR! The server quit without updating PID file (/var/lib/mysql/localhost.localdomain.pid).
[root@localhost init.d]# cd /var/lib/mysql/ [root@localhost mysql]# ll total 110620 -rw-rw----. 1 mysql mysql56 Oct 11 23:20 auto.cnf -rw-rw----. 1 mysql mysql 12582912 Oct 11 23:20 ibdata1 -rw-rw----. 1 mysql mysql 50331648 Oct 11 23:20 ib_logfile0 -rw-rw----. 1 mysql mysql 50331648 Oct 11 23:19 ib_logfile1 -rw-r-----. 1 mysql root5847 Oct 11 23:20 localhost.localdomain.err drwx--x--x. 2 mysql mysql4096 Oct 11 23:19 mysql drwx------. 2 mysql mysql4096 Oct 11 23:19 performance_schema -rw-r--r--. 1 rootroot111 Oct 11 23:19 RPM_UPGRADE_HISTORY -rw-r--r--. 1 mysql mysql111 Oct 11 23:19 RPM_UPGRADE_MARKER-LAST drwxr-xr-x. 2 mysql mysql6 Oct 11 23:19 test

查看路径:mysql-bin.index多余文件,auto.cnf和performance_schema等不存在(文件不全)。(以上为成功后的mysql数据库目录)
解决5: 因为以前存在的MySQL卸载不干净导致。 删除和卸载(以下是的解决),然后重新安装: CentOS下MySQL的彻底卸载
[root@localhost mysql]# rpm -aq | grep -i mysql MySQL-server-5.6.27-1.el6.x86_64 MySQL-client-5.6.27-1.el6.x86_64 MySQL-devel-5.6.27-1.el6.x86_64 [root@localhost mysql]# rpm -e MySQL-server-5.6.27-1.el6.x86_64 [root@localhost mysql]# rpm -e MySQL-client-5.6.27-1.el6.x86_64 [root@localhost mysql]# rpm -e MySQL-devel-5.6.27-1.el6.x86_64 [root@localhost rc.d]# cd /var/lib/ [root@localhost lib]# rm -rf mysql/ [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%] 2015-10-11 23:19:40 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). 2015-10-11 23:19:40 0 [Note] /usr/sbin/mysqld (mysqld 5.6.27) starting as process 3168 ... 2015-10-11 23:19:40 3168 [Note] InnoDB: Using atomics to ref count buffer pool pages 2015-10-11 23:19:40 3168 [Note] InnoDB: The InnoDB memory heap is disabled 2015-10-11 23:19:40 3168 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins 2015-10-11 23:19:40 3168 [Note] InnoDB: Memory barrier is not used 2015-10-11 23:19:40 3168 [Note] InnoDB: Compressed tables use zlib 1.2.3 2015-10-11 23:19:40 3168 [Note] InnoDB: Using Linux native AIO 2015-10-11 23:19:40 3168 [Note] InnoDB: Using CPU crc32 instructions 2015-10-11 23:19:40 3168 [Note] InnoDB: Initializing buffer pool, size = 128.0M 2015-10-11 23:19:40 3168 [Note] InnoDB: Completed initialization of buffer pool 2015-10-11 23:19:40 3168 [Note] InnoDB: The first specified data file ./ibdata1 did not exist: a new database to be created! 2015-10-11 23:19:40 3168 [Note] InnoDB: Setting file ./ibdata1 size to 12 MB 2015-10-11 23:19:40 3168 [Note] InnoDB: Database physically writes the file full: wait... 2015-10-11 23:19:40 3168 [Note] InnoDB: Setting log file ./ib_logfile101 size to 48 MB 2015-10-11 23:19:41 3168 [Note] InnoDB: Setting log file ./ib_logfile1 size to 48 MB 2015-10-11 23:19:43 3168 [Note] InnoDB: Renaming log file ./ib_logfile101 to ./ib_logfile0 2015-10-11 23:19:43 3168 [Warning] InnoDB: New log files created, LSN=45781 2015-10-11 23:19:43 3168 [Note] InnoDB: Doublewrite buffer not found: creating new 2015-10-11 23:19:43 3168 [Note] InnoDB: Doublewrite buffer created 2015-10-11 23:19:43 3168 [Note] InnoDB: 128 rollback segment(s) are active. 2015-10-11 23:19:43 3168 [Warning] InnoDB: Creating foreign key constraint system tables. 2015-10-11 23:19:43 3168 [Note] InnoDB: Foreign key constraint system tables created 2015-10-11 23:19:43 3168 [Note] InnoDB: Creating tablespace and datafile system tables. 2015-10-11 23:19:43 3168 [Note] InnoDB: Tablespace and datafile system tables created. 2015-10-11 23:19:43 3168 [Note] InnoDB: Waiting for purge to start 2015-10-11 23:19:43 3168 [Note] InnoDB: 5.6.27 started; log sequence number 0 A random root password has been set. You will find it in '/root/.mysql_secret'. 2015-10-11 23:19:44 3168 [Note] Binlog end 2015-10-11 23:19:44 3168 [Note] InnoDB: FTS optimize thread exiting. 2015-10-11 23:19:44 3168 [Note] InnoDB: Starting shutdown... 2015-10-11 23:19:46 3168 [Note] InnoDB: Shutdown completed; log sequence number 16259772015-10-11 23:19:46 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). 2015-10-11 23:19:46 0 [Note] /usr/sbin/mysqld (mysqld 5.6.27) starting as process 3190 ... 2015-10-11 23:19:46 3190 [Note] InnoDB: Using atomics to ref count buffer pool pages 2015-10-11 23:19:46 3190 [Note] InnoDB: The InnoDB memory heap is disabled 2015-10-11 23:19:46 3190 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins 2015-10-11 23:19:46 3190 [Note] InnoDB: Memory barrier is not used 2015-10-11 23:19:46 3190 [Note] InnoDB: Compressed tables use zlib 1.2.3 2015-10-11 23:19:46 3190 [Note] InnoDB: Using Linux native AIO 2015-10-11 23:19:46 3190 [Note] InnoDB: Using CPU crc32 instructions 2015-10-11 23:19:46 3190 [Note] InnoDB: Initializing buffer pool, size = 128.0M 2015-10-11 23:19:46 3190 [Note] InnoDB: Completed initialization of buffer pool 2015-10-11 23:19:46 3190 [Note] InnoDB: Highest supported file format is Barracuda. 2015-10-11 23:19:46 3190 [Note] InnoDB: 128 rollback segment(s) are active. 2015-10-11 23:19:46 3190 [Note] InnoDB: Waiting for purge to start 2015-10-11 23:19:46 3190 [Note] InnoDB: 5.6.27 started; log sequence number 1625977 2015-10-11 23:19:46 3190 [Note] Binlog end 2015-10-11 23:19:46 3190 [Note] InnoDB: FTS optimize thread exiting. 2015-10-11 23:19:46 3190 [Note] InnoDB: Starting shutdown... 2015-10-11 23:19:49 3190 [Note] InnoDB: Shutdown completed; log sequence number 1625987A RANDOM PASSWORD HAS BEEN SET FOR THE MySQL root USER ! You will find that password in '/root/.mysql_secret'.You must change that password on your first connect, no other statement but 'SET PASSWORD' will be accepted. See the manual for the semantics of the 'password expired' flag.Also, the account for the anonymous user has been removed.In addition, you can run:/usr/bin/mysql_secure_installationwhich will also give you the option of removing the test database. This is strongly recommended for production servers.See the manual for more instructions.Please report any problems at http://bugs.mysql.com/The latest information about MySQL is available on the web athttp://www.mysql.comSupport MySQL by buying support/licenses at http://shop.mysql.comNew default config file was created as /usr/my.cnf and will be used by default by the server when you start it. You may edit this file to change server settings


检查:
[root@localhost install-files]# service mysql start Starting MySQL.. SUCCESS! [root@localhost install-files]# service mysql stop Shutting down MySQL.. SUCCESS! [root@localhost mysql]# ll total 110620 -rw-rw----. 1 mysql mysql56 Oct 11 23:20 auto.cnf -rw-rw----. 1 mysql mysql 12582912 Oct 11 23:20 ibdata1 -rw-rw----. 1 mysql mysql 50331648 Oct 11 23:20 ib_logfile0 -rw-rw----. 1 mysql mysql 50331648 Oct 11 23:19 ib_logfile1 -rw-r-----. 1 mysql root5847 Oct 11 23:20 localhost.localdomain.err drwx--x--x. 2 mysql mysql4096 Oct 11 23:19 mysql drwx------. 2 mysql mysql4096 Oct 11 23:19 performance_schema -rw-r--r--. 1 rootroot111 Oct 11 23:19 RPM_UPGRADE_HISTORY -rw-r--r--. 1 mysql mysql111 Oct 11 23:19 RPM_UPGRADE_MARKER-LAST drwxr-xr-x. 2 mysql mysql6 Oct 11 23:19 test

设置后,也可以:mysql -u root -p; 进行登录测试。
成功的安装,日志中显示(创建两个文件): A random root password has been set. You will find it in ' /root/.mysql_secret'. New default config file was created as /usr/my.cnf andwill be used by default by the server when you start it.

    推荐阅读