[不废话编程 MySql编译安装] Linux CentOS 7.0 环境下编译安装MySql (MySql 5.6.41)

一、下载mysql 5.6.41 安装包 (版本过高 一定容量不足 mysql8.0.12建议硬盘容量 30G+)

  • 个人建议在官网下载 https://www.mysql.com
  • Download->Community->Community Server(如图:)
  • [不废话编程 MySql编译安装] Linux CentOS 7.0 环境下编译安装MySql (MySql 5.6.41)
  • 往下滑动有个选择列表(我在这里选择了5.6.41版本)
  • [不废话编程 MySql编译安装] Linux CentOS 7.0 环境下编译安装MySql (MySql 5.6.41)
  • [不废话编程 MySql编译安装] Linux CentOS 7.0 环境下编译安装MySql (MySql 5.6.41)
  • [不废话编程 MySql编译安装] Linux CentOS 7.0 环境下编译安装MySql (MySql 5.6.41)

二、在linux 编译安装 mysql 前的准备工作

  • wget 我们的安装包路径  例子:( wget  https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.41.tar.gz )
  • PS:没有wget 可以直接  yum -y install wget
  • 安装 mysql 需要的扩展包 yum -y install ncurses-devel libaio-devel cmake gcc-c++ perl-Data-Dumper boost boost-doc boost-devel
  • PS: 高版本的Mysql可能需要 boost 版本在1.67.0 需要自己下载 根据 make编译安装 报错的提示下载即可
  • 根据自己的需要创建用户 adduser -s /sbin/nologin -M mysql

三、编译安装步骤

  1. tar -zxvf mysql-5.6.41.tar.gz
  2. cd mysql-5.6.36

  3. cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.6.41 \
    -DMYSQL_DATADIR=/usr/local/mysql-5.6.41/data \
    -DMYSQL_UNIX_ADDR=/usr/local/mysql-5.6.41/tmp/mysql.sock \
    -DDEFAULT_CHARSET=utf8 \
    -DDEFAULT_COLLATION=utf8_general_ci \
    -DWITH_EXTRA_CHARSETS=all \
    -DWITH_INNOBASE_STORAGE_ENGINE=1 \
    -DWITH_FEDERATED_STORAGE_ENGINE=1 \
    -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
    -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
    -DWITH_ZLIB=bundled \
    -DWITH_SSL=bundled \
    -DENABLED_LOCAL_INFILE=1 \
    -DWITH_EMBEDDED_SERVER=1 \
    -DENABLE_DOWNLOADS=1 \
    -DWITH_DEBUG=0 

  4. ps:     -DWITH_BOOST= boost路径 (如果版本过高需要安装这个 https://www.boost.org/ 根据报错提示下载对应版本 解压就好)

  5. make (为什么不两个一起呢? 先编译确认完成后 在编译安装 不推荐 直接使用 make && make install)

  6. make install

  7. ln -s /usr/local/mysql-5.6.41 /usr/local/mysql

  8. cp support-files/my*.cnf /etc/my.cnf

  9. 这里注意下路径 /root/mysql-5.6.41/support-files/my*.cnf (my*.cnf 不知到用哪个可以用默认的 my-default.cnf )

  10. /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data --user=mysql

  11. chown -R mysql.mysql /usr/local/mysql*

  12. cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld (或者在添加一份到全局命令中 /usr/sbin/mysqld )

  13. ln -s /usr/local/mysql/bin/mysql /usr/bin

  14. mv /etc/my.cnf /etc/my.bak

  15. mkdir -p /usr/local/mysql/tmp

  16. chown -R mysql.mysql /usr/local/mysql/tmp

四、修改mysql root 密码

  1. systemctl start mysqld 或者 /etc/init.d/mysqld start 或者 mysqld start  (开启服务)

  2. /usr/local/mysql/bin/mysql  开启mysql服务后运行它 你可以直接到这个目录下 ./mysql  (进入mysql命令界面)

  3. 第二步不明白可以直接用  mysql -uroot -p你的密码;没有密码只能在第二步运行。

  4. SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456'); (设置密码)

  5. 如果第三步 命令失败可以执行以下步骤:

  • create DATABASE test; (先创建一个数据库)

  • use test;(选择数据库)

  • SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456');(修改密码)

PS 编译安装步骤 第3步骤解释如下 : 

         -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.6.41            #mysql的安装目录

         -DMYSQL_DATADIR=/usr/local/mysql-5.6.41/data                  #数据的存放目录

         -DMYSQL_UNIX_ADDR=/usr/local/mysql-5.6.41/tmp/mysql.sock  #本地连接数据库的方式,默认在tmp下

         -DDEFAULT_CHARSET=utf8                                                  #指定数据库字符集,默认是拉丁语

        -DWITH_EXTRA_CHARSETS=all                                            #是否扩展其他字符集支持

         #支持的存储引擎,可以不加,有默认值 下面4个

        -DWITH_INNOBASE_STORAGE_ENGINE=1 \

        -DWITH_FEDERATED_STORAGE_ENGINE=1 \

        -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

        -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \

       第4步骤解释如下 :

        ln -s /usr/local/mysql-5.6.41 /usr/local/mysql  创建软连接相当 于快捷方式 

       第5步骤解释如下 :

       cp support-files/my*.cnf /etc/my.cnf 初始化前使用自带的 my.cnf 配置文件

       第9步骤解释如下 :

       初始化步骤

       /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data --user=mysql

       将一些系统的数据库和表,创建出来,也叫元数据(系统数据)

       --basedir 指定mysql的安装目录,初始化的时候需要调用mysql的程序

       --datadir 指定数据的存放目录

       --user     指定运行数据库的用户

       初始化话后,看到两个ok,说明初始化成功

       第11,12步骤解释如下 :

      11步 使用 systemctl 运行(启动服务运行)

      12步 mysql 全局运行

      ps: 一定要 mysqld 服务开启后 在运行 mysql 

       第14,15步骤解释如下 :

       创建 mysql.socket 的目录,根据初始化数据库的时候指定的 mysql.socket 目录,并赋予权限

 

       以上就是我的 编译安装步骤 如果有哪里不明白可以给我留言共同学习进步!!!!!!