您的位置:首页 > 运维架构 > Linux

CentOS7下安装MySQL的囧途

2015-03-23 11:12 417 查看
想练下MySQL开发,于是打算在虚拟机上安装MySQL,本以为会一路顺风,没想到却是囧途啊。

首先到官网下载了tar包,解压后有一堆东西,看着好头疼

不过通过文件名还是能很清楚的分辨出各包的作用,最后决定装server+client,最基本的。

由于CentOS上有个mariadb,会与MySQL冲突,于是先卸载掉。过程不多说了。

然后开始安装server:使用rpm -ivh 安装,接着出现下面问题:

[root@localhostDownloads]# rpm -ivh MySQL-server-5.6.23-1.linux_glibc2.5.x86_64.rpm
Preparing...                         ################################# [100%]
Updating /installing...
  1:MySQL-server-5.6.23-1.linux_glibc#################################[100%]
FATAL ERROR: pleaseinstall the following Perl modules before executing /usr/bin/mysql_install_db:
Data::Dumper

居然说没有Perl modules,百度后说要yum install -y perl-Module-Install.noarch,照做后又报错,说没有urlgrabber.grabber。

经过各种原因排查,终于确定是之前更新Python导致的。

更改yum和/usr/libexec/urlgrabber-ext-down开头的python版本为系统原来的版本。保存后重新运行,一切OK了。

接下来 mysql_install_db --user=mysql

开启mysql服务,一切正常。  接下来把客户端安装好就OK 了。

可是真的如此吗。。。

编写一个简单测试代码:

#include <mysql.h>

int main()

{
return 0;

}

在编译时发现找不到头文件和相关库,在各目录也没有找到。于是想是不是少安装了什么。果然在之前的压缩包里还有个MySQL-devel-5.6.23-1.linux_glibc2.5.x86_64.rpm ,装之

/bin下出现个mysql_config ,运行了下,其作用很明显:

[root@localhost mysql_test]# mysql_config

Usage: /usr/bin/mysql_config [OPTIONS]

Options:

        --cflags         [-I/usr/include/mysql -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -fPIC  -g -fabi-version=2 -fno-omit-frame-pointer -fno-strict-aliasing -DMY_PTHREAD_FASTMUTEX=1]

        --cxxflags       [-I/usr/include/mysql -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -felide-constructors  -fPIC  -g -fabi-version=2 -fno-omit-frame-pointer -fno-strict-aliasing -DMY_PTHREAD_FASTMUTEX=1]

        --include        [-I/usr/include/mysql]

        --libs           [-L/usr/lib64 -lmysqlclient -lpthread -lm -lrt -ldl]

        --libs_r         [-L/usr/lib64 -lmysqlclient -lpthread -lm -lrt -ldl]

        --plugindir      [/usr/lib64/mysql/plugin]

        --socket         [/var/lib/mysql/mysql.sock]

        --port           [0]

        --version        [5.6.23]

        --libmysqld-libs [-L/usr/lib64 -lmysqld -lpthread -lm -lrt -lcrypt -ldl -laio]

        --variable=VAR   VAR is one of:

                pkgincludedir [/usr/include/mysql]

                pkglibdir     [/usr/lib64]

                plugindir     [/usr/lib64/mysql/plugin]

重新编译cpp:

g++ $(mysql_config --include) $(mysql_config --libs) mysql_test.cpp

终于OK了。事不大,东西不多,但是有些闹心
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: