zoukankan      html  css  js  c++  java
  • 004-LNMP之Mysql源码编译安装

    正文:

    搜狐镜像源:http://mirrors.sohu.com/ (推荐,国内源下载速度嗖嗖的)

    //这里有很多常用的镜像,Mysql的源码包也在里面。

    1.Mysql数据库的一些依赖包

    yum -y install gcc gcc-c++ make tar openssl openssl-devel cmake ncurses ncurses-devel

    2.Mysql的编译安装

    # 创建mysql用户去启动数据库进程
    useradd -s /sbin/nologin mysql
    cd /usr/local/src
    tar -zxvf mysql-5.6.39.tar.gz
    cd mysql-5.6.39
    cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS:STRING=all -DWITH_DEBUG=0 -DWITH_SSL=yes -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1
    make && make install
    cp /usr/local/src/mysql-5.6.39/support-files/mysql.server /etc/init.d/mysqld
    chmod a+x /etc/init.d/mysqld
    

    3.编译参数说明

    # 指定Mysql的安装目录
    CMACK_INSTALL_PREFIX
    # 指定Mysql的数据目录
    MYSQL_DATADIR

    4.Mysql环境变量配置

    export PATH=$PATH:/usr/local/mysql/bin/
    # 将环境变量追加到 /etc/profile
    source /ect/profile
    # 查看环境变量是否生效
    echo $PATH
    

    5.Mysql的启动步骤

    1.更新配置

    2.数据库初始化

    3.启动数据库

    6.更新Mysql配置 /etc/my.cnf

    [mysqld]
    bind-address=0.0.0.0
    port=3306
    datadir=/data/mysql
    user=mysql
    skip-name-resolve
    long_query_time=2
    slow_query_log_file=/data/mysql/mysql-slow.log
    expire_logs_days=2
    innodb_flush_log_at_trx_commit=2
    log_warnings=1
    max_allowed_packet=512M
    connect_timeout=120
    
    [mysqld_safe]
    log_error=/data/mysql/mysqld.log
    pid-file=/data/mysqld/mysqld.pid
    

    7.Mysql数据库初始化

    mkdir -pv /data/mysql
    chown -R mysql:mysql /usr/local/mysql /data/mysql/
    yum install -y perl-Module-Install
    /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --user=mysql --datadir=/data/mysql/
    

    8.使用systemctl管理mysqld

    # 配置文件的路径 
    vi /usr/lib/systemd/systemd/mysqld.service
    
    [Unit]
    Description=mysqld
    After=network.target
    [Service]
    Type=forking
    ExecStart=/etc/init.d/mysqld start
    [Install]
    WantedBy=multi-user.target
    

    9.启动Mysql服务器

    systemctl start mysqld
    

    10.验证Mysql是否启动

    1.查看进程 ps -ef | grep mysql

     2.查看监听 netstat -tunlp | grep mysql

    3.查看日志 cat /data/mysql/mysqld.log

    11.Mysql的安全方式

    1.mysql能限制ip访问、访问需要用户名密码、mysql权限还能细分
    2.默认让127.0.0.1访问,用户名root,不需要密码
    3.mysql -uroot -h 127.0.0.1 -A

    12.Mysql加密码

    # 给mysql数据库root用户添加密码root
    mysqladmin -h 127.0.0.1 -uroot password 'root'
    # 用root密码验证登录
    mysql -h 127.0.0.1 -uroot -proot -A
    

    13.Mysql授权某ip登录,指定用户名

    # 添加192.168.0.X段的ip允许网络访问Mysql数据库
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.0.%' IDENTIFIED BY 'root' WITH GRANT OPTION;
    # 刷新mysql权限的相关表
    flush privileges;
    

    14.网络登录Mysql

    # Mysql数据库服务器地址:192.168.4.99
    # 我用另外一台linux机器:192.168.4.98 网络登录Mysql数据库访问
    mysql -h 192.168.4.99 -uroot -proot -A
    

     

  • 相关阅读:
    关于JSON可能出现的错误,待更/todo
    mongoose的安装与使用(书签记录) 2017
    HTTP的学习记录3--HTTPS和HTTP
    HTTP的学习记录(二)头部
    HTTP(一)概述
    LeetCode 455. Assign Cookies
    LeetCode 453. Minimum Moves to Equal Array Elements
    LeetCode 448. Find All Numbers Disappeared in an Array
    LeetCode 447. Number of Boomerangs
    LeetCode 416. Partition Equal Subset Sum
  • 原文地址:https://www.cnblogs.com/chenshengkai/p/13223089.html
Copyright © 2011-2022 走看看