• MySQL安装


    MySQL安装

    MySQL官网 https://www.mysql.com

    MySQL工程师的博客 https://dev.mysql.com

    Planet MySQL https://planet.mysql.com

    MySQL Bugs https://bugs.mysql.com

    Worklog(类似工作日志) https://dev.mysql.com/worklog/

    Vagrant + VirtualBox + CentOS6

    一、基础软件部署

    MySQL5.6的安装,下面使用二进制安装过程,可以参考官方安装文档

    1.1 下载

    https://dev.mysql.com/downloads/mysql/

    选择要下载的版本的链接

    说明:

    # 镜像里5.6.36是最新的
    http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz
    # 先下载到本地再上传文件至服务器
    rz -y
    # 或者直接下载到服务器
    wget https://cdn.mysql.com//Downloads/MySQL-5.6/mysql-5.6.37-linux-glibc2.12-x86_64.tar.gz
    

    1.2 解压

    帮助手册:https://dev.mysql.com/doc/refman/5.6/en/

    # 创建目录
    mkdir -p /opt/mysql
    
    # 解压文件到/opt/mysq/目录下
    tar -xzvf mysql-5.6.37-linux-glibc2.12-x86_64.tar.gz -C /opt/mysql/
    
    # 查看解压后MySQL占用空间
    du -sh *
    
    # 删除链接用unlink
    unlink /usr/local/mysql
    
    # 建立链接
    ln -s /opt/mysql/mysql-5.6.37-linux-glibc2.12-x86_64 /usr/local/mysql
    cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
    

    1.3 创建用户

    # 确保有mysql账户
    id mysql
    groupadd mysql
    useradd -g mysql -s /sbin/nologin -M mysql
    
    # 说明
    -g<群组>:指定用户所属的群组
    -s<shell>:指定用户登入后所使用的shell
    -M:不要自动建立用户的登入目录
    

    1.4 环境变量

    # 配置环境变量,并使配置生效
    echo 'export PATH=/usr/local/mysql/bin:$PATH' >> /etc/profile
    source /etc/profile
    
    # 查看mysql都在哪
    whereis mysql
    which mysql
    

    1.5 常用命令

    mysql
    mysqlbinlog
    mysqld
    mysqld_safe
    perror
    mysqldump
    mysql_upgrade
    /usr/loca/mysql
    

    二、启动起来

    2.1 创建必须的目录

    # 一般是项目名加端口号或直接端口号 eg:yyms3306 or 3306
    mkdir -p /data/mysql/mysql3376/{data,tmp,logs}
    

    2.2 修改权限

    # 权限
    chown -R mysql:mysql /data/mysql/mysql3376
    chown -R mysql:mysql /opt/mysql
    chown -R mysql:mysql /usr/local/mysql
    

    2.3 创建配置文件

    # 配置文件
    # /etc/my.cnf
    # innodb_data_file_path=ibdata1:100M:autoextend  数据字典
    

    my.cnf

    [mysqld]
    port = 3376
    
    basedir = /usr/local/mysql
    datadir = /data/mysql/mysql3376/data
    socket = /tmp/mysql3376.sock
    tmpdir = /data/mysql/mysql3376/tmp
    log-bin = /data/mysql/mysql3376/logs/mysql-bin
    innodb_data_home_dir = /data/mysql/mysql3376/data
    innodb_log_group_home_dir = /data/mysql/mysql3376/logs
    log-error = /data/mysql/mysql3376/logs/error.log
    
    user=mysql
    # Disabling symbolic-links is recommended to prevent assorted security risks
    symbolic-links=0
    innodb_data_file_path=ibdata1:100M:autoextend
    
    [mysqld_safe]
    # log-error=/data/mysql/mysql3376/error.log
    # pid-file=mysqldb.pid
    # malloc-lib = /usr/local/mysql/lib/mysql/libjemalloc.so
    

    2.4 初始化

    # 执行如下安装命令初始化,如果不指定配置文件,要切换到下面目录下执行安装命令
    cd /usr/local/mysql
    ./scripts/mysql_install_db
    
    # 说明
    # 如果不指定配置文件位置,以/etc/my.cnf为默认配置文件
    # 需要指定配置文件用--defaults-file参数来指定,如:
    # ./scripts/mysql_install_db --defaults-file=/etc/my.cnf
    # 看到2个OK就表示成功
    

    2.5 启动关闭

    # 启动,有n种方式,如下:
    /etc/init.d/mysql start
    /etc/init.d/mysql stop
    
    service mysql start
    service mysql stop
    
    # 如下这种方式在启动时,可以指定其配置文件,默认是/etc/my.cnf
    # 指定配置文件时用--defaults-file=/etc/my3376.cnf来指定
    /usr/local/mysql/bin/mysqld_safe &
    /usr/local/mysql/bin/mysqld &
    # 如下是关闭mysql,如不指定sock文件,默认读取的是/tmp/mysql.sock
    /usr/local/mysql/bin/mysqladimn -S /tmp/mysql3376.sock shutdown
    

    2.6 安全加固

    # 登录,此处的mysql /usr/local/mysql/bin/mysql
    mysql -uroot -S /tmp/mysql3376.sock
    
    # 查看当前用户
    select user, host, authentication_string from mysql.user;
    
    # 删除多余账户及数据库、表
    delete from mysql.user where user!='root' or host!='localhost';
    truncate table mysql.db;
    drop database test;
    
    # 更新root密码
    update mysql.user set authentication_string = password('123456') where user='root';
    flush privileges
    
    # 当前目录是/usr/local/mysql
    ./bin/mysql_secure_installation
    

    2.7 确认MySQL启动

    # 查看进程  ef与aux
    ps -ef|grep -v "grep"|grep mysqld
    
    # 查看监听
    netstat -nalp|grep mysqld
    ss -lnpt|grep mysqld
    lsof -i :3376
    
    # 看错误日志
    tail -f /data/mysql/mysql3376/error.log
    
  • 相关阅读:
    uva 11997
    【USACO 3.1.1】最短网络
    【USACO 2.4.5】分数化小数
    【USACO 2.4.4】回家
    【USACO 2.4.3】牛的旅行
    【USACO 2.4.2】穿越栅栏
    【USACO 2.4.1】两只塔姆沃斯牛
    【USACO 2.3.5】控制公司
    【USACO 2.3.4】货币系统
    【USACO 2.3.3】零数列
  • 原文地址:https://www.cnblogs.com/okokabcd/p/8471867.html
Copyright © 2020-2023  润新知