centOS7下的MYSQL安装和配置

由于在工作中最常用的开发是windows下集成的lamp。每次在linux下安装和配置mysql时,总会遇到不同的问题。这次就把在CentOS7下安装和配置mysql的过程记录下来,本次安装采用源码安装的方式。

下载源码包

在mysql官网找到Mysql Community Server的下载页面:
mysql下载页面

由于之前使用5.7版本,编译到47%左右时经常会卡死。网上很多人出现这个情况,据说是因为5.7版本编译比较吃内存。为了方便快捷,我采用5.5版本。平台选择为源码安装。下载tar.gz格式的linux通用版,复制链接地址,使用wget命令下载:

复制链接地址

wget https://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.54.tar.gz

下载完成后解压

tar -zxvf mysql-5.5.54.tar.gz
安装5.5版本所需要的依赖

mysql有众多的依赖包,常见的如下。在编译过程中缺少哪个依赖包的话,会自动提示,我们根据缺失提示信息补安依赖就可以了。另外一个坑,就是版本的问题,mysql5.5和mysql5.7对依赖包的版本也可能出现不同,总之,若有问题,编译时会返回给我们错误信息,我们根据错误信息修正就ok了。

sudo yum install cmake gcc-c++ ncurses-devel perl-Data-Dumper boost-doc boost-devel bison boost
CMAKE的使用,mysql编译和安装

CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX下的automake。只是 CMake 的组态档取名为 CMakeLists.txt。(以上内容摘自百科)。、

开始编译前,需要确保mysql的安装目录和数据存放目录存在,一般需要预先创建:

    mkdir -p usr/local/mysql
    mkdir -p usr/local/mysql/data

在解压出的源码目录下,进行CMake编译的参数配置。
各项参数以及说明如下:

    cmake \
    -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \   #安装路径
    -DMYSQL_DATADIR=/usr/local/mysql/data       \    #数据文件存放位置
    -DSYSCONFDIR=/etc              \                                  #my.cnf路径
    -DWITH_MYISAM_STORAGE_ENGINE=1    \       #支持MyIASM引擎
    -DWITH_INNOBASE_STORAGE_ENGINE=1 \     #支持InnoDB引擎
    -DWITH_MEMORY_STORAGE_ENGINE=1 \        #支持Memory引擎
    -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock      \   #连接数据库socket路径
    -DMYSQL_TCP_PORT=3306                  \               #端口
    -DENABLED_LOCAL_INFILE=1            \                #允许从本地导入数据
    -DWITH_PARTITION_STORAGE_ENGINE=1  \   #安装支持数据库分区
    -DEXTRA_CHARSETS=all                  \                   #安装所有的字符集
    -DDEFAULT_CHARSET=utf8              \                   #默认字符
    -DDEFAULT_COLLATION=utf8_general_ci

敲击回车后开始预编译。
完成以上过程后,就是make编译;sudo make install 安装。

安装后的配置

安装完成后,需要创建mysql用户以及用户组

    groupadd mysql
    useradd -r -g mysql mysql

并将之前建立好的两个目录权限更改

    cd /usr/local/mysql
    chown -R root:mysql . //把当前目录中所有文件的所有者设为root,所属组为mysql
    chown -R mysql:mysql data

在mysql的源码目录存在一个support-files文件夹,里面的内容是mysql的配置模板。具体的配置说明可以参考这个老兄的博客my.conf配置说明。在这里将mysql加入系统服务中,并配置开机自动启动。

    cp support-files/mysql.server  /etc/init.d/mysqld //将mysql的启动服务添加到系统服务中

    cd /etc/init.d/ 
   chkconfig --add mysqld                           //将mysql加到启动服务列表里 
   chkconfig mysqld on                              //让系统启动时自动打开mysql服务 

进行mysql数据库的初始化mysql_install_db。安装完mysql server时,一般要执行这个脚本对数据库初始化。运行这个脚本,会初始化mysql的data目录,并且创建那些系统表。

    cd /usr/local/mysql
    scripts/mysql_install_db --user=mysql

至此,mysql的安装和配置已经ok了。

启动mysql

由于已经将mysql配置进了系统的服务,故可以使用服务的方式启动:

    service mysqld start    
    service mysqld stop  
    service mysqld restart

手动启动mysql:

    cd /usr/local/mysql
    ./bin/mysqld_safe --user=mysql &   //启动MySQL
    mysqladmin -u root -p shutdown     // 停止MySQL

进入mysql的安装目录,执行

    ./mysql -u root 

进入mysql命令行

    show databases;

结果输出已存在的数据库。我们的sql已经配置并成功运行了。

可能遇到的问题

1、通过服务的方式启动mysql时,提示:
env: /etc/init.d/mysqld: Permission denied
该原因为init.d目录下的mysqld文件权限不足,执行:chmod a+wrx /etc/init.d/mysqld后重新尝试

2、注意etc/my.cnf文件的内容和cmake安装时配置的参数是否一致,不一致需要改动my.cnf的内容,主要是socket和datadir两个参数

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值