MySQL5.7安装

1、MySQL5.7:安装在 CentOS Linux release 7.7.1908 

2、MySQL5.7版本下载和安装说明

  Mysql5.7版本更新后有很多变化,比如json等,连安装都有变化,MySQL安装必须要BOOST库,

  不过mysql的官网源码有带boost库的源码和不带boost库的源码两种,因此有两种安装方式,

  其实都是一样的,仅仅是不带boost库源码的需要单独安装boost,这里以带boost安装实例说明。

3、MySQL下载安装地址

  wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.27.tar.gz

  wget https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.27.tar.gz

  MySQL和mysql-boost官网下载地址:https://downloads.mysql.com/archives/community/

4、MySQL编译环境依赖安装

  yum -y install gcc gcc-c++ ncurses ncurses-devel cmake

5、MySQL安装,软件安装包存放在/usr/local/src

  1)创建mysql组合用户

    groupadd mysql

    useradd -g mysql mysql -s /bin/false

  2)创建安装目录和mysql数据存放目录

    1)安装目录

      mkdir -p /data/mysql

    2)数据存放目录

      mkdir -p /data/mysql/data

    3)为数据库存放目录设置mysql 用户权限

    chown -R mysql:mysql /data/mysql/data/

    4)创建配置文件存放目录

      mkdir /data/mysql/etc

  3)开始解压安装

    cd /usr/local/src

    tar zxf mysql-5.7.27.tar.gz

    tar zxf mysql-boost-5.7.27.tar.gz

    cd mysql-5.7.27/ 

    cmake . -DCMAKE_INSTALL_PREFIX=/data/mysql/ -DMYSQL_DATADIR=/data/mysql/data/ -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/src/mysql-5.7.27/boost/ -DSYSCONFDIR=/data/mysql/etc -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MYISAM_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DMYSQL_UNIX_ADDR=/tmp/mysql3306.sock -DMYSQL_TCP_PORT=3306 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS:STRING=utf8

    make

    make install

    1)添加环境变量
      vim /etc/profile
      环境变量内部
      export PATH=$PATH:/data/mysql/bin/
      source /etc/profile
    2)使用--initialize-insecure 初始化不会生成密码
      /data/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/data/mysql/ --datadir=/data/mysql/data/
    3)使用--initialize 会初始化一个密码
      /data/mysql/bin/mysqld --initialize --user=mysql --basedir=/data/mysql/ --datadir=/data/mysql/data/
      set password=password('新密码'); 修改初始化密码
      注:[Note] A temporary password is generated for root@localhost: Xcw0igenlQ,S 这里的Xcw0igenlQ,S是初始化密码
    4)复制启动脚本,添加权限

      1、原始chkconfig开机启动和init.d下面启动方式
        cp -fr /usr/local/src/mysql-5.7.27/support-files/mysql.server /etc/init.d/mysqld
        chmod 755 /etc/init.d/mysqld
        chkconfig mysqld on

      2、systemctl方式启动MySQL

        复制配置文件到系统服务配置
          cp support-files/mysql.server /etc/init.d/mysql
        重新加载系统服务配置
          systemctl daemon-reload
        启动mysql服务
          systemctl start mysql
        下面列出其余systemctl命令(不用运行)
          查看mysql服务状态
            systemctl status mysql
          停止mysql服务
            systemctl stop mysql
          重新启动mysql服务
            systemctl restart mysql
          配置mysql开机自动启动
            systemctl enable mysql
          配置mysql开机不自动启动
            systemctl disable mysql       

    5)修改/etc/init.d/mysqld 配置文件
      basedir=/data/mysql
      datadir=/data/mysql/data
      注:上面的路径需要根据自己的安装情况填写,basedir是mysql安装目录,datadir是mysql 数据存放目录
    6)启动mysql 报错:
      Starting MySQL.2020-01-09T07:49:25.097522Z mysqld_safe error: log-error set to '/var/log/mariadb/mariadb.log', however file don't exists. Create writable for user 'mysql'.
      这个是权限问题,增加权限配置,
      mkdir /var/log/mariadb/
      touch /var/log/mariadb/mariadb.log
      chown -R mysql:mysql /var/log/mariadb/

  6、编译安装参数说明:   

    安装路径
      -DCMAKE_INSTALL_PREFIX=/data/mysql

    数据文件存放位置
      -DMYSQL_DATADIR=/data/mysql/data

    my.cnf路径
      -DSYSCONFDIR=/data/mysql

    支持InnoDB引擎
      -DWITH_INNOBASE_STORAGE_ENGINE=1

    支持MyIASM引擎
      -DWITH_MYISAM_STORAGE_ENGINE=1

    允许从本地导入数据
      -DENABLED_LOCAL_INFILE=1

    快捷键功能(我没用过)
      -DWITH_READLINE=1

    连接数据库socket路径
      -DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock

    端口
      -DMYSQL_TCP_PORT=3306

    安装所有的字符集
     -DEXTRA_CHARSETS=all

    默认字符
    -  DDEFAULT_CHARSET=utf8

    校验字符
      -DDEFAULT_COLLATION=utf8_general_ci

    会自动下载boost
      -DDOWNLOAD_BOOST=1

    指定boost目录
      -DWITH_BOOST=/usr/local/boost

posted @   点点滴滴的努力  阅读(237)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
点击右上角即可分享
微信分享提示