• mysql5.7源码编译安装


    安装mysql前的准备:

    一、安装依赖的库:

    yum install  gcc-c++ ncurses-devel perl-Data-Dumper python-devel openssl openssl-devel

    二、 安装cmake(因为mysql5.7的编译由cmake来实现)

    安装cmake:

    https://cmake.org/files/v2.8/cmake-2.8.8.tar.gz

    cd cmake-2.8.8/

    预编译和安装:

     ./bootstrap

    Make && make install

     

    三、 安装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.zip  /usr/local/boots

    cd /usr/local/boost

    编译安装:

    ./bootstrap.sh  

    ./b2 

    sudo ./b2 install 

    配置环境变量:

    vim /etc/profile

    BOOST_ROOT=/usr/local/boost

    BOOST_LIB=/usr/local/boost/stage/lib

    BOOST_INCLUDE=/usr/local/include/boost

    export BOOST _ROOT  BOOST _INCLUDE  BOOST _LIB

     

     source /etc/profile

    四、编译安装mysql:

    下载源码包:

    wget http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.15.tar.gz

    tar zxvf mysql-5.7.15.tar.gz

    cd mysql-5.7.15/

     编译和安装(下面编译参数请手动一行一行复制)

      cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql
              -DMYSQL_DATADIR=/mydata/data
              -DSYSCONFDIR=/etc
          -DWITH_INNOBASE_STORAGE_ENGINE=1
              -DWITH_ARCHIVE_STORAGE_ENGINE=1
              -DWITH_BLACKHOLE_STORAGE_ENGINE=1
          -DWITH_READLINE=1
          -DWITH_SSL=system
          -DWITH_ZLIB=system
          -DWITH_LIBWRAP=0
          -DMYSQL_UNIX_ADDR=/tmp/mysql.sock
          -DDEFAULT_CHARSET=utf8
              -DDEFAULT_COLLATION=utf8_general_ci
          -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/boost 

      备注:mysql5.7的编译需指定boost,即:-DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/boost 

    2、添加mysql用户和组: 

      groupadd -r mysql
      useradd -g mysql -r -d /mydata/data mysql

    初始化数据库

     bin/mysql_install_db --user=mysql  --basedir=/usr/local/mysql  --datadir=/mydata/data        # Before MySQL 5.6

     bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql  --datadir=/mydata/data      # MySQL 5.7 and up

     

    cp support-files/my-default.cnf /etc/my.cnf

    cp support-files/mysql.server /etc/init.d/mysqld

    chmod +x /etc/init.d/mysqld

    chkconfig --add mysqld

    chkconfig mysqld on

     

     3、修改配置文件:

     vim /etc/my.cnf

    [client]

    port=3306

    socket=/tmp/mysql.sock

    default-character-set=utf8

    [mysqld]

    basedir =/usr/local/mysql

    datadir =/mydata/data

    port =3306

    server_id =1

    socket =/tmp/mysql.sock

    pid-file=/mydata/data/mysql.pid

     

    bind-address=localhost

    #skip-grant-tables

     

     4、启动mysql服务

    service mysqld start

     5、为了直接使用,加到环境变量里

    vim /etc/profile.d/mysql.sh

    export PATH=$PATH:/usr/local/mysql/bin

    :wq  保存退出

    执行这个脚本:

    . /etc/profile.d/mysql.sh

    [root@localhost ~]# echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/mysql/bin

    6、此时需要修改root用户密码,在初始化数据库是会随机生成一个密码

    方法如下:

     

      1)、vim /etc/my.cnf    #编辑文件,找到[mysqld],在下面添加一行skip-grant-tables

     

     

    [mysqld]

    skip-grant-tables

    :wq!  #保存退出

    service mysqld restart  #重启MySQL服务

      2)、进入MySQL控制台

    mysql -uroot -p   #直接按回车,这时不需要输入root密码。

      3)、修改root密码

    update mysql.user set password=password('123456') where User="root" and Host="localhost";

    flush privileges;  #刷新系统授权表

    grant all on *.* to 'root'@'localhost' identified by '123456' with grant option;

      4)、取消/etc/my.cnf中的skip-grant-tables

    vi /etc/my.cnf   编辑文件,找到[mysqld],删除skip-grant-tables这一行

    :wq!  #保存退出

      5)、重启mysql

    service mysqld restart    #重启mysql,这个时候mysqlroot密码已经修改为123456

      6)、进入mysql控制台

    [root@localhost ~]# mysql -u root -p

    Enter password:

    Welcome to the MySQL monitor.  Commands end with ; or g. Your MySQL connection id is 22 Server version: 5.7.15 Source distribution

    Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

    Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.

    Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.

    mysql>

    至此mysql5,7安装好了

     

    7、启用远程连接:

    mysql数据库远程访问设置方法

    1、修改localhost

    更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改成"%" 

    mysql>use mysql; 

    mysql>update user set host = '%' where user = 'root'; 

    mysql>select host, user from user;

    mysql>FLUSH PRIVILEGES;

    我自己使用 sqldeveloper远程连接mysql

    需要下载mysql-connector-java-5.0.4-bin.jar包,并将其放到sqldeveloper下的jlib目录下

    打开sqldeveloper,菜单栏-工具-首选项-数据库-第三方JDBC驱动程序,点击添加条目,在sqldeveloperjlib目录下,

    选择mysql-connector-java-5.0.4-bin.jar,点击确定,如下图所示:可以连接mysql(关闭linux防火墙哦,不然连不上)

     

  • 相关阅读:
    【理财启蒙】理财:需要树立正确的金钱观
    【系统设计】分布式唯一ID生成方案总结
    【Hash一致性算法】什么是Hash一致性算法
    【位图算法】什么是BitMap
    关于枚举类你可能不知道的事
    【数据结构】什么是AVL树
    mysql5.6 主从同步配置
    vmstat命令详解
    pstack跟踪进程栈
    iostat 磁盘io分析工具
  • 原文地址:https://www.cnblogs.com/gongfuxiaomaintuan/p/5960373.html
Copyright © 2020-2023  润新知