zoukankan      html  css  js  c++  java
  • 编译安装mysql5.7

    注意版本和此次更新时间 2018-3-11 版本:mysql-5.7.x 环境:linux7.x


    C/C++编译器安装

    yum install gcc g++ -y

    CMake

    是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的makefile。
    我们直接yum install cmake -y 即可
    
    如果版本太低,可以去https://cmake.org/files/v3.4/cmake-3.4.1.tar.gz 
    下载后手动编译安装
    

    安装boost:

    下载源码包:

    wget http://jaist.dl.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.zip 
    

    解压

    unzip boost_1_59_0.zip 
    mv  boost_1_59_0  /usr/local/boots
    cd /usr/local/boost
    

    编译安装:

    ./bootstrap.sh  
    ./b2 
    sudo ./b2 install 
    
    测试代码
    #cat test.cpp 
    #include <boost/lexical_cast.hpp>
    #include <iostream>
    
    int main()
    {
      using boost::lexical_cast;
      int a= lexical_cast<int>("123456");
      double b = lexical_cast<double>("123.456");
      std::cout << a << std::endl;
      std::cout << b << std::endl;
      return 0;
    }
    

    编译测试

    --g++ -o test test.cpp
    #ls
    test  test.cpp
    # ./test 
    123456
    123.456
    

    开始编译mysql

    cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_BOOST=/usr/local/boost
    

    这个地方有一个坑,就是设置boost的目录,(-DWITH_BOOST=/usr/local/boost) 一定要设置好,根据上面步骤安装的boost文件路径。

    如果一切没错,请执行make (编译) 大约需要1-2小时左右
    如果一切没问题,则要make install 执行安装



    配置:

    1. 了解配置文件到底放哪了
    ./mysqld --verbose --help | grep cnf
    ./mysqld --verbose --help | grep -A 1 'Default options'
    

    这时会发现 /etc/mysql/my.cnf /etc/my.cnf ~/.my.cnf

    有这么一行,这代表它mysql会读取配置文件,按顺序读,直至读到位置。
    接下来们来模拟my.cnf丢失的情况

    2.配置my.cnf重要参数,进行启动
    [client]
    port = 3306
    socket = /usr/local/mysql/data/mysql.sock
    
    [mysqld]
    port = 3306
    socket = /usr/local/mysql/data/mysql.sock
    basedir = /usr/local/mysql
    datadir  = /usr/local/mysql/data
    [mysqld_safe]
    log-error=/usr/local/mysql/log/mysql.log
    pid-file=/usr/local/mysql/mysql.pid
    
    3.初始化数据库。这个很重要

    (根据自己的目录来)

    mysqld --initialize  --user=smartom --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/
    

    初始化数据库后会有有一个临时密码

    4.初始化完成之后进入mysql/bin目录

    指定配置文件路径,指定mysql的用户名

    ./mysqld_safe --defaults-file=/etc/mysql/my.cnf --user=smartom&  
    

    如果不能运行监测目录权限 和加入参数
    这地方一个坑就是 user参数一定要指定好该文件的用户名

    修改密码 否则不能运行(有点特殊 )

    1.找到my.cnf | 本机 /etc/my.cnf
    2.[mysqld]#下添加

    skip-grant-tables=1 #不用验证

    3.开启mysql /etc/init.d/mysqld start|本机默认地址
    4.进入并修改(依次命令)
    1. mysql -uroot -p;
    2.use mysql
    3.update user set authentication_string = password('123456'), password_expired = 'N', password_last_changed = now() where user = 'root';
  • 相关阅读:
    Arduino 封装库
    Arduino 学习
    Linux和UNIX监控
    mysql语句:批量更新多条记录的不同值[转]
    datagridview设置currentrow为指定的某一行[转]
    WeifenLuo组件中如何设置停靠窗体的宽度
    Win7 64位 Visio反向工程(MySQL)
    Castle.ActiveRecord (V3.0.0.130)
    位运算(2)——Number of 1 Bits
    位运算(1)——Hamming Distance
  • 原文地址:https://www.cnblogs.com/subtract/p/8544078.html
Copyright © 2011-2022 走看看