zoukankan      html  css  js  c++  java
  • 编译LNMP环境

    1.编译安装mysql

    MySQL5.7依赖的软件包:gcc gcc-c++ ncurses ncurses-devel bison make等供参考,安装前可以使用rpm -qa |grep $(软件包名)检查

    # yum install -y gcc gcc-c++ glibc automake autoconf libtool make
    # cd /tmp
    # wget https://nchc.dl.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz
    # wget https://github.com/kitware/CMake/releases/download/v3.14.5/cmake-3.14.5.tar.gz
    # wget http://ftp.ntu.edu.tw/MySQL/Downloads/MySQL-5.7/mysql-5.7.27.tar.gz

    1.1安装make

    # cd /tmp
    # ls
    # tar -zvxf cmake-3.14.5.tar.gz
    # cd cmake-3.14.5
    # ./ bootstrap
    # gmake && gmake install
    ​
    # cd ~
    # cmake -version
    cmake version 3.14.5
    

      

    1.2安装boost

    # cd /tmp
    # tar xf boost_1_59_0.tar.gz -C /usr/local/
    # cd /usr/local/
    # mv boost_1_59_0/  boost
    # cd boost/
    

      

    1.3编译安装mysql

    • -M 不创建用户的HOME目录

    # yum install -y gcc gcc-c++ ncurses ncurses-devel bison make
    # mkdir -p /database/mysql/{data,tmp,binlog,logs}
    # tree -L 2 /database/
    # useradd mysql -s /sbin/nologin -M -g mysql
    # id mysql
    # cd /tmp
    # tar xf mysql-5.7.27.tar.gz
    # cd mysql-5.7.27
    # cmake . -DCMAKE_INSTALL_PREFIX=/database/mysql 
    -DMYSQL_DATADIR=/database/mysql/data 
    -DMYSQL_UNIX_ADDR=/database/mysql/tmp/mysql.sock 
    -DDEFAULT_CHARSET=utf8 
    -DDEFAULT_COLLATION=utf8_general_ci 
    -DEXTRA_CHARSETS=gbk,gb2312,utf8,ascii 
    -DENABLED_LOCAL_INFILE=ON 
    -DWITH_INNOBASE_STORAGE_ENGINE=1 
    -DWITH_FEDERATED_STORAGE_ENGINE=1 
    -DWITH_ZLIB=bundled 
    -DWITH_EMBEDDED_SERVER=1 
    -DWITH_DEBUG=0 
    -DWITH_BOOST=/usr/local/boost
    ​
        // -DWITH_BLACKHOLE_STORAGE_ENGINE=1 
        // -DWITH_PARTITION_STORAGE_ENGINE=1 
    # make install
    

      

    1.4修改系统变量

    # echo 'export PATH=/database/mysql/bin:$PATH' >> /etc/profile
    # tail -1 /etc/profile
    # source /etc/profile
    # echo $PATH
    ​
    # chown -R mysql:mysql /database/mysql/
    # chown mysql:mysql /etc/my.cnf
    ​
    # cp /etc/my.cnf /etc/my.cnf.bak
    # vi /etc/my.cnf
    [client]
    port = 3306
    socket = /database/mysql/tmp/mysql.sock
    default-character-set = utf8
    [mysqld]
    port = 3306
    basedir = /database/mysql
    datadir = /database/mysql/data
    pid-file = /database/mysql/mysqld.pid
    socket = /database/mysql/tmp/mysql.sock
    tmpdir = /database/mysql/tmp
    character-set_server = utf8
    server-id = 1
    max_connections = 100
    max_connect_errors = 10
    log-bin = /database/mysql/binlog/mysql-bin
    log-error = /database/mysql/logs/mysql_5_7_27.err
    

    1.5初始化mysql数据库

    # cd /database/mysql
    # ./bin/mysqld --initialize-insecure --user=mysql --basedir=/database/mysql --datadir=/database/mysql/data
    # cd /database/mysql/data
    # chmod +r server-key.pem
    # ll server-key.pem
    • 生成初始化密码参数(5.7版本才有,必须添加,否则初始化失败,会生成空密码)

      • --initialize-insecure

    • 设定初始化用户

      • --user=mysql

    1.6启动mysql

    关闭防火墙、selinux

    # cd //database/mysql
    # cp support-files/mysql.server /etc/init.d/mysql
    # ls /etc/init.d/mysql
    # systemctl deamon-reload       //重载系统库
    # systemctl enable mysql
    # /etc/init.d/mysql restart 
    # ps aux |grep mysqld
    # yum install -y lsof
    # lsof -i:3306
    

    1.7 mysql优化(安全)

    账户设置密码,添加额外管理员,重新加载mysql授予表

    # msyql
    > select user,host from mysql.user;         //查看账号
    mysql.session   localhost
    mysql.sys       localhost
    root            localhost
    > grant all privileges on *.* to 'zhangsan'@'localhost' identified by 'AB.123com' with grant option;
    > set password for 'mysql.session'@'localhost' = password('AB.123com');
    > set password for 'root'@'localhost' = password('AB.123com');
    > flush privileges;
    ​
    # /etc/init.d/mysql stop
    # /etc/init.d/mysql start
    ​
    //授权远程用户
    # mysql -uroot -p'AB.123com'
    > grant all privileges on *.* to 'lisi'@'192.168.1.%' identified by 'AB.123com' with grant option;
    > flush privileges;
    > select user,host from mysql.user;
    

      

    测试远程登录(客户端2;192.168.1.3)

    • -h 指登录的服务器端地址

    # mysql -h192.168.1.2 -u lisi -p'AB.123com' -P3306
    > show database;
    配置若有遗漏或错误,请评论留言。
  • 相关阅读:
    垂直margin为什么会重叠
    forEach()和for/in循环的缺点与for-of循环
    使用CleanWebpackPlugin插件报错原因:CleanWebpackPlugin is not a constructor
    Vue中常用的组件库
    Vue中使用keep-alive优化网页性能
    Vue中router路由异步加载组件-优化性能
    面试题-JS中的作用域相关问题
    JS中的垃圾回收机制
    【转】 SpringMVC详解(三)------基于注解的入门实例
    【转】 SpringMVC详解(二)------详细架构
  • 原文地址:https://www.cnblogs.com/BrokenEaves/p/14503276.html
Copyright © 2011-2022 走看看