• mysql 5.7.18 源码安装笔记


    之所以贴出这样一篇笔记呢?主要是因为很久之前,源码安装MySQL的时候,碰到了太多太多的坎坷。

    如果你有兴趣进行源码安装,那么请不要以这篇文章为标准,因为每个人的及其环境等其他因素还是差距比较大的。

    但可以作为一篇流程参考文档,其中的坑点总结,希望能帮助大家绕过一些不必要的麻烦!

    坑点

    1 5.7.6以后安装必须有boost支持

    2 权限和路径比较坑,步骤较多,如果中间错了,

    先检查之前执行命令时权限是否正确,

    再检查每一步操作的路径是否符合自己本地要求

    3 很多人傻傻的找不到源码包在哪里,两个都是源码包

    只不过下一个包含boost依赖

     

    准备

    1、首先安装依赖包

    yum install -y gcc gcc-c++ ncurses-devel perl openssl-devel

    最最重要的是,不要忘了安装openssl-devel

    2、安装cmake

    sudo yum install cmake

    1 mysql迅雷下载地址:

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

    2 解压:

    sudo tar xzvf mysql-boost-5.7.18.tar.gz -C /usr/local/Mysql/

    注:稍后我们需要建立/usr/local/mysql,

    所以这里要建造一个Mysql,当然建造其他的也可以,

    和之后的/usr/local/mysql 能区分开就好

    3 先创建用户mysql并将mysql用户添加到mysql组下

    groupadd mysql   

    useradd -g mysql mysql   

    将解压的文件的权限修改为mysql:mysql

    sudo chown mysql:mysql /usr/local/Mysql/mysql-5.7.18

    注:创建用户 sudo useradd -M -s /sbin/nologin mysql

    4 安装依赖包:

    sudo apt install -y build-essential cmake libncurses5-dev bison

    编译

    1 进入源码解压目录

    cd /usr/local/Mysql/mysql-5.7.18/

    2 创建编译后的文件存储位置,并进入

    (1)sudo mkdir build      //创建build目录

    (2)cd build      //进入build目录

    3 指定cmake参数

    sudo cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local/mysql

    -DDEFAULT_CHARSET=utf8mb4 .. -DWITH_BOOST=/usr/local/src/mysql-5.7.18/boost/boost_1_59_0

    .. -DMYSQL_DATADIR=/data/mysql/data

    安装的路径有点坑, 下面这条命令中有两个 ".."

    如果不写的话,会提示没有 "/usr/local/mysql"

    "/usr/local/Mysql/mysql-5.7.18/boost/boost_1_59_0"

    由于对linux还不是特别熟悉,我估计应该是执行cmake时,会从根目录开始找配置的参数目录,

    ".."代表根目录

     

    4 sudo make

    编译完成之后,和网上视频教程讲述的一致,效果如下:

     

    5 执行 sudo make install

     

    6 检查是否安装成功:

     

    文件编译好之后,就需要安装数据库并执行配置了!

    安装Mysql

    1 配置环境变量(非必须):

    创建变量文件,可以创建在profile,也可以创建在profile.d中

     

    写入配置信息

     

    执行生效环境变量,注意:这一步必须退到根目录下执行,

     

    2 创建配置文件

    mysql的安装目录下创建配置文件目录/etc,

    /etc下创建my.cnf

     

    3 编辑my.cnf

    有些目录 /data /log /run 可能没有,则需要手动创建

    my.cnf

    [client]

    [mysqld]

    basedir=/usr/local/mysql

    # this direct impossible is nothing,we need to build!

    datadir=/usr/local/mysql/data

    # The document was not informed

    socket=/tmp/mysql.sock

    character_set_filesystem = utf8mb4

    character_set_server = utf8mb4

    symbolic-links=0

    # run and log is must!

    log-error=/usr/local/mysql/log/mysqld.log

    pid-file=/usr/local/mysql/run/mysqld.pid

    4 将mysql目录下的文件权限,全部赋给mysql,

    否则会导致初始化后,/data下没有任何内容

    5 进行初始化

    sudo /usr/local/mysql/bin/mysqld --defaults-file=/usr/local/mysql/etc/my.cnf

    --initialize --user=mysql

    6 配置启动服务

     

    7 查询mysql的初始密码,在日志文件中随机生成的;

    后面的路径需要注意是自己的

    sudo grep 'root'@'localhost' /usr/local/mysql/log/mysqld.log

    初始密码:7wff5n<w%j_S

     

    8 修改root密码

    ALTER USER root@localhost IDENTIFIED BY 'new password';

    9 连接数据库

    mysql -h IP地址 -uroot -p 【回车后输密码】

    GRANT ALL PRIVILEGES ON *.* TO 'itoffice'@'%' IDENTIFIED BY 'itoffice' WITH GRANT OPTION;

    QQ 群:219537016    虽然没啥人气,群主经常装死中!

    同事建立了一个微信讨论群,群主最喜欢能解决问题时,出来冒泡,解决不了时,装死!     

      

     
  • 相关阅读:
    spring3 的restful API RequestMapping介绍
    论文笔记之:DualGAN: Unsupervised Dual Learning for Image-to-Image Translation
    (zhuan) Some Talks about Dual Learning
    论文笔记之 SST: Single-Stream Temporal Action Proposals
    论文笔记之:Action-Decision Networks for Visual Tracking with Deep Reinforcement Learning
    Tutorial: Generate BBox or Rectangle to locate the target obejct
    论文阅读:CNN-RNN: A Unified Framework for Multi-label Image Classification
    关于 Image Caption 中测试时用到的 beam search算法
    论文阅读: End-to-end Learning of Action Detection from Frame Glimpses in Videos
    (转)Awesome Courses
  • 原文地址:https://www.cnblogs.com/wujianqinjian/p/9148431.html
Copyright © 2020-2023  润新知