之前写过一篇在centos6.5下配置mysql+python-flask,之所以要写这篇文章的原因就是centos7.0之后,就不支持mysql
而是转向支持mysql的开源分支mariaDB
也就是是 在yum的源里面实际上是没有mysql-server这个包的,
yum search mysql-server也就是说如果你敲入这个指令,它会提示 错误:找不到这个包
如果你直接输入下面这句
yum install mysql-server mysql mysql-devel也许安装能够正常进行,但是安装之后,你会发现根本就连不上mysql服务器
具体错误信息如下:
ERROR 2003: Can't connect to MySQL server on 'localhost' (10061)然后这个时候感觉是服务没有启动的问题,然后又去用mysqld启动服务,发现同样是报错
接着分析了一下,决定检查是否有安装mysql
rpm -qa | grep mysql结果我擦,特么屁都没有一个,于是去网上查了一下资料,原来是centos7.0之后支持的数据库从mysql变成了mariaDB
也就是说刚才安装mysql之后,yum自动去找mysql的替代品mariaDB的包,然后下载它,并没有下载mysql
所以现在可以验证一下:
rpm -qa | grep mariadb然后出来了下面的结果:
mariadb-libs-5.5.42-3.el7.x86_64
mariadb-5.5.42-3.el7.x86_64
mariadb-server-5.5.42-3.el7.x86_64果然,特么安装的是mariadb,完全没有安装mysql,所以,先把这3个家伙先卸载掉,不过我这里说一句,实际上mariaDb和mysql是完全兼容的,包括sql语句,api(比如mariadb的python模块仍然是mysql-python,不过在import的时候会有一点区别,这里就不往下写了),完全删除这几个包的方法:
rpm -e --nodeps 包名e就代表erase,把包删除
好,现在开始解决问题
既然yum里面没有mysql的源,那我们就给他添加一个这样的源
首先,去官网找一下我们需要的资源
http://dev.mysql.com/downloads/repo/yum/
可以看到下面的这些yum Repository
我现在的系统是centos7.0,所以就选Red Hat Enterprise Linux 7那一项
现在用wget工具来下来这个yum仓库
wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm然后用rpm来安装:
rpm -ivh mysql-community-release-el7-5.noarch.rpmi参数表示安装, v参数表示显示详细信息,h参数表示显示安装进度
安装了之后,进入下面的路径查看是否已经安装了yum源
cd /etc/yum.repos.d/
ok啦,mysql-community mysql-community-source这两个源已经添加进yum了
现在直接安装
yum install mysql-community-server安装完成之后:service mysqld start就可以启动服务了,至于怎么修改密码,安装pip之类的,我的另一篇博客中有介绍:
centos6.5下配置mysql+python-flask
因为要用mysql来进行开发,所以要安装其他语言的mysql模块,我这里安装的是python模块
pip install MySQL-python但不幸的是,安装过程又出了点问题,具体错误信息如下:
_mysql.c:44:23: 致命错误:my_config.h:没有那个文件或目录
编译中断。
error: command 'gcc' failed with exit status 1这个错误的原因就在于没有相应的库,这些静态库一般是包含在mysql-devel模块中,也就是,如果你只是单纯的使用mysql,那么就没有必要安装这个模块
如果你需要用python或者其他语言连接mysql,那么就必须安装mysql-devel这个模块(ubuntu下好像是叫做mysql-dev)
所以用pip安装mysql-dev之后,再安装mysql-community-server就ok了
如果不放心,可以打开python
然后:import MySQLdb
如果没有报错,说明安装正常
收工~~