zoukankan      html  css  js  c++  java
  • MySQL-安装配置篇

    一、MySQL二进制安装包安装

    1、环境初始化

    1)创建目录
    mkdir /app/database --安装路径 mkdir /data/3306 --存放数据路径 mkdir /binlog/3306 --存放日志路径 将安装包上传至/app/database解压,为方便使用可制作一个软连接。 ln -s 文件名 mysql

    2)清理安装环境
    rpm -qa|grep mariadb
    yum remove filename

    3)修改环境变量
    vim /etc/profile
    export PATH=/app/database/mysql/bin:$PATH
    [root@db01 bin]# source /etc/profile

    2、创建用户及用户组  

    1)创建用户及用户组
    useradd mysql -s /sbin/nologin 2)修改文件属主 chown -R mysql.mysql /app/ chown -R mysql.mysql /data/ chown -R mysql.mysql /binlog 

     3、初始化系统库表

    yum install -y libaio-devel
    mysqld --initialize-insecure  --user=mysql --basedir=/app/database/mysql  --datadir=/data/3306

    4、配置文件my.cnf

    cat > /etc/my.cnf <<EOF
    [mysqld]
    user=mysql
    basedir=/app/database/mysql
    datadir=/data/3306
    server_id=6
    port=3306
    socket=/tmp/mysql.sock
    [mysql]
    socket=/tmp/mysql.sock
    EOF

    5、准备启动脚本

    cd ~/support-files/
    cp mysql.server /etc/init.d/mysqld    --方便启动
    chkconfig -add mysqld                  --systemctl

    6、启动与关闭

    1)启动:/app/database/mysql/bin/mysqld 二进制文件
    
    ​                /app/database/mysql/bin/mysqld_safe sh脚本
    
    ​                /support-files/mysql.server   sh脚本      ---> service/systemctl
    
    由下往上调用
    
    2)关闭:service mysqld stop
    
    ​                 systemctl stop mysqld
    
    ​                 /etc/init.d/mysql stop

    7、my.cnf补充说明

    1)使用locate my.cnf命令可以列出所有的my.cnf文件    
    locate my.cnf
    2)查看是否使用了指定目录的my.cnf
    ps aux|grep mysql|grep 'my.cnf'
    3)查看mysql默认读取my.cnf的目录的顺序
    mysql --help|grep 'my.cnf'
    注:如果没有设置使用指定目录my.cnf文件及默认读取目录没有my.cnf文件,表示mysql启动时并没有加载配置文件,而是使用默认配置。

    需要修改配置,可以在mysql默认读取的目录中,创建一个my.cnf文件(例如:
    /etc/my.cnf),把需要修改的配置内容写入,重启mysql后即可生效。

    二、MySQL同版本多实例安装

    1、初始化数据、日志目录

    mkdir -p /data/330{7..9}/data
    mkdir -p /binlog/330{7..9}
    chown -R mysql.mysql /data /binlog
    mv /etc/my.cnf my.cnf.bak   --初始化时mysqld会读取/etc下面的my.cnf
    mysqld --initialize-insecure  --user=mysql --basedir=/app/database/mysql  --datadir=/data/3307/data
    mysqld --initialize-insecure  --user=mysql --basedir=/app/database/mysql  --datadir=/data/3308/data
    mysqld --initialize-insecure  --user=mysql --basedir=/app/database/mysql  --datadir=/data/3309/data
    mv /etc/my.cnf.bak my.cnf

     

    2、配置文件my.cnf

    cat > /data/3307(3308、3309)/my.cnf <<EOF
    [mysqld]
    user=mysql
    basedir=/app/database/mysql
    datadir=/data/3307(3308、3309)/data
    log_error=/data/3307(3308、3309)/mysql.log
    log_bin=/binlog/3307(3308、3309)/mysql-bin
    server_id=7(8,9)
    port=3307(3308、3309)
    socket=/tmp/mysql3307(3308、3309).sock
    EOF

    3、准备启动脚本

    cd /etc/systemd/system
    cp mysqld.service mysqld3307.service
    cp mysqld.service mysqld3308.service
    cp mysqld.service mysqld3309.service
    
    vim mysqld3307.service
    ExecStart=/app/mysql/bin/mysqld  --defaults-file=/data/3307/my.cnf
    vim mysqld3308.service
    ExecStart=/app/mysql/bin/mysqld  --defaults-file=/data/3308/my.cnf
    vim mysqld3309.service
    ExecStart=/app/mysql/bin/mysqld  --defaults-file=/data/3309/my.cnf
  • 相关阅读:
    JAVA小技能-之远程调试
    征集系统功能开发进度总结
    征集系统功能开发进度总结
    linux常用的监控命令
    Makefile中 =、:=和 += 的区别
    Linux驱动编译错误:implicit declaration of function “copy_form_user”,“copy_to_user“
    Android 第一个驱动之 word_count(一)
    Ubuntu16.04 默认 gcc、g++ 版本过高会导致Android2.3.4 , Android 4.0.1_r1 编译报错
    降低 make 版本教程
    Tensorflow教程分享:TensorFlow 基础详解
  • 原文地址:https://www.cnblogs.com/kunming97/p/13423022.html
Copyright © 2011-2022 走看看