zoukankan      html  css  js  c++  java
  • mysql-5.7.* 编译安装

    系统 CentOS 7.9 

    userdel -r mysql
    yum -y remove mariadb mariadb-libs mariadb-server mariadb-devel
    rm -rf /etc/my*
    rm -rf /var/lib/mysql
    rm -rf /var/log/mysql*

    添加用户
    useradd -s /sbin/nologin mysql


    安装包 yum install -y cmake bison bison-devel libaio-devel gcc gcc-c++ git ncurses-devel


    MySQL 手册: https://dev.mysql.com/doc/refman/

    软件下载地址:
    MySQL: https://dev.mysql.com/downloads/mysql/
    Operating System: Source Code
    OS Version: Generic Linux
    tar -zxf mysql-boost-5.7.33.tar.gz
    cd mysql-5.7.33

    cmake
    -DCMAKE_INSTALL_PREFIX=/usr/local/mysql
    -DMYSQL_UNIX_ADDR=/tmp/mysql.sock
    -DSYSCONFDIR=/etc
    -DDEFAULT_CHARSET=utf8mb4
    -DDEFAULT_COLLATION=utf8mb4_general_ci
    -DWITH_INNOBASE_STORAGE_ENGINE=1
    -DWITH_ARCHIVE_STORAGE_ENGINE=1
    -DWITH_BLACKHOLE_STORAGE_ENGINE=1
    -DWITH_MYISAM_STORAGE_ENGINE=1
    -DMYSQL_DATADIR=/usr/local/mysql/data
    -DEXTRA_CHARSETS=all
    -DWITH_EXTRA_CHARSETS=all
    -DWITH_INNODB_MEMCACHED=1
    -DMYSQL_TCP_PORT=3306
    -DWITH_DEBUG=1
    -DWITH_EMBEDDED_SERVER=1
    -DWITH_ZLIB=system
    -DWITH_BOOST=boost
    -DENABLED_LOCAL_INFILE=1
    -DENABLED_PROFILING=ON
    -DWITH_SYSTEMD=1

    /********************** 不完整,待完善 ************************************/
    -DCMAKE_INSTALL_PREFIX=/usr/local/mysql mysql安装目录
    -DMYSQL_UNIX_ADDR=/tmp/mysql.sock mysql.sock路径
    -DSYSCONFDIR=/etc mysql配置文件目录
    -DDEFAULT_CHARSET=utf8 默认的字符集为utf8
    -DDEFAULT_COLLATION=utf8_general_ci 默认排序规则
    -DWITH_INNOBASE_STORAGE_ENGINE=1 储存引擎
    -DWITH_ARCHIVE_STORAGE_ENGINE=1 储存引擎
    -DWITH_BLACKHOLE_STORAGE_ENGINE=1 储存引擎
    -DENABLE_LOCAL_INFILE=1
    -DWITH_MYISAM_STORAGE_ENGINE=1
    -DMYSQL_DATADIR=/usr/local/mysql/data 数据库文件存放位置
    -DEXTRA_CHARSETS=all 启用额外的字符集类型
    -DMYSQL_TCP_PORT=3306 TCP端口
    -DWITH_DEBUG=OFF 禁用debug
    -DWITH_READLINE=1 启用readline库支持(提供可编辑的命令行)
    -DWITH_EMBEDDED_SERVER=1 编译嵌入式服务器支持
    -DWITH_ZLIB=system 启用libz库支持(zib、gzib相关)
    -DENABLE_DTRACE=OFF
    -DWITH_BOOST=boost 指定boost
    -DWITH_SYSTEMD=1 支持systemctl

    /**********************************************************/


    /usr/bin/ld: cannot find -lzlib
    查看详细信息 ld -lzlib --verbose
    查到的组件名去除 lib,进行查找,如 libzlib.so,去除lib 为 libz.so;
    查找 find / -name libz.so*;
    查找结果
    /usr/lib64/libz.so.1
    /usr/lib64/libz.so.1.2.7
    /usr/lib64/libz.so
    为 /usr/lib64/libz.so.1.2.7 创建软链接:
    ln -s /usr/lib64/libz.so.1.2.7 /usr/lib/libzlib.so

    make
    make install

    cd /usr/local/mysql/
    chown -R mysql:mysql .

    初始化数据库
    初始化:
    ./bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
    * --datadir目录比较为空,--basedir --datadir 必须和/etc/my.cnf 配置的目录一致

    *** 提示 my.cnf (参考底部)中所配置文件提前创建好,并将用户设置为mysql,可以避免很多坑。。。
    创建my.cnf中pid-file文件,例:
    mkdir -R /var/run/mysqld/
    chown -R mysql /var/run/mysqld/

    复制启动脚本
    #cp ./support-files/mysql.server /etc/init.d/mysqld

    更改 mysqld.service 文件中的pid项;
    cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/

    刷新识别启动脚本文件 systemctl daemon-reload
    启动数据库 systemctl start mysqld
    如无法启动查看mysqld.service设置项 /usr/lib/systemd/system/mysqld.service

    查看端口服务 netstat -anpt | grep 3306
    添加开机启动 systemctl enable mysqld

    设置登陆密码 ./bin/mysqladmin -u root -p password "123456"

    写入环境变量
    echo "export PATH=$PATH:/usr/local/mysql/bin">>/etc/profile
    或 vim /etc/profile
    PATH=/usr/local/mysql/bin:$PATH

    重新加载 source /etc/profile

     my.cnf

    [client]
    port = 3306
    socket = /tmp/mysql.sock

    [mysqld]
    user = mysql
    port = 3306
    socket = /tmp/mysql.sock
    pid-file = /var/run/mysqld/mysqld.pid

    basedir = /usr/local/mysql
    datadir = /usr/local/mysql/data
    log-error = /usr/local/mysql/log/mysql-error.log # 错误文件
    slow_query_log = 1
    long_query_time = 1
    slow_query_log_file = /usr/local/mysql/log/mysql-slow.log


    key_buffer_size = 16M
    max_allowed_packet = 1M
    table_open_cache = 64
    sort_buffer_size = 512K
    net_buffer_length = 8K
    read_buffer_size = 256K
    read_rnd_buffer_size = 512K
    myisam_sort_buffer_size = 8M

    [mysqldump]
    quick
    max_allowed_packet = 16M

    [mysql]
    no-auto-rehash
    safe-updates

    [myisamchk]
    key_buffer_size = 20M
    sort_buffer_size = 20M
    read_buffer = 2M
    write_buffer = 2M

    [mysqlhotcopy]
    interactive-timeout

  • 相关阅读:
    萌新向Python数据分析及数据挖掘 第三章 机器学习常用算法 第三节 梯度下降法 (上)理解篇
    萌新向Python数据分析及数据挖掘 第三章 机器学习常用算法 第二节 线性回归算法 (下)实操篇
    萌新向Python数据分析及数据挖掘 第三章 机器学习常用算法 第二节 线性回归算法 (上)理解篇
    萌新向Python数据分析及数据挖掘 第三章 机器学习常用算法 第一节 KNN算法 (下)实操篇
    萌新向Python数据分析及数据挖掘 第三章 机器学习常用算法 第一节 KNN算法 (上)理解篇
    萌新向Python数据分析及数据挖掘 第二章 pandas 第五节 Getting Started with pandas
    Oracle数据库安装和授权
    c# 如何获取JSON文件以及如何获取Config文件(framework 和 net .Core)
    C#Core查询数据库存储EXCEL文件
    如何在WINDOW系统下编译P12证书制作
  • 原文地址:https://www.cnblogs.com/blue-t/p/14495281.html
Copyright © 2011-2022 走看看