zoukankan      html  css  js  c++  java
  • CentOS 7二进制安装MySQL

    第一部分:环境说明

    (1)系统环境

    [root@master 3308]# cat /etc/redhat-release

    CentOS Linux release 7.9.2009 (Core)

    (2)mysql版本

    mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz

    下载路径:链接:https://pan.baidu.com/s/1nDKvZNivxqwDwrVH9Wt_xQ

    提取码:pk0v

    第二部分:mysql结构和安装规划

    (1)mysql结构

    mysql结构=软件部分(/app/mysql)+数据部分(/data/3306)

    (2)总体说明

    ①创建一个/server/tools目录,用于存放mysql二进制安装包

    ②创建/app(存放软件部分)和/data(存放数据部分)两个目录,然后再在/data目录下创建一个3306子目录

    ③创建一个mysql用户(自动创建mysql组),管理/app和/data两个目录

    ④由于是二进制安装,所以软件部分的生成无须编译,解压目录、重命名,然后将其移动到/app目录下即可

    ⑤初始化过程用于生成数据文件(C6和C7有一些区别)

    ⑥制作my.cnf文件,其默认位置是/etc/my.cnf

    ⑦制作启动脚本(C6和C7有一些区别,C6习惯采用sys-v方式-->类似于/etc/init.d/mysqld start等,C7习惯采用systemd方式-->类似于systemctl start mysqld等)

    ⑧启动mysql,然后验证

    第三部分:安装过程

    (1)创建一个/server/tools目录,用于存放mysql二进制安装包

    ①创建目录

    [root@master 3308]# mkdir /server/tools -p

    ②rz -y上传文件

    [root@master tools]# ll
    total 629764
    -rw-r--r-- 1 root root 644869837 Oct 10 2020 mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz

    ③解压(时间比较久)

    [root@master tools]# tar xf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz

    ④重命名

    [root@master tools]# mv mysql-5.7.26-linux-glibc2.12-x86_64 mysql

    [root@master tools]# ll
    total 629764
    drwxr-xr-x 9 root root 129 Jun 18 16:11 mysql
    -rw-r--r-- 1 root root 644869837 Oct 10 2020 mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz

    (2)创建/app(存放软件部分)和/data(存放数据部分)两个目录,然后再在/data目录下创建一个3306子目录

    [root@master tools]# mkdir /app/ -p
    [root@master tools]# mkdir /data/3306/{data,binlog}  -p

    (3)创建一个mysql用户(自动创建mysql组),管理/app和/data两个目录

    创建用户

    [root@master tools]# useradd mysql -s /sbin/nologin -M

    [root@master tools]# id mysql
    uid=1001(mysql) gid=1001(mysql) groups=1001(mysql)

    (4)移动/server/tools/mysql目录到/app/下(充实软件部分)

    [root@master tools]# mv /server/tools/mysql /app/

    [root@master tools]# ll /app/
    total 0
    drwxr-xr-x 9 zh zh 129 Jun 18 11:41 mysql

    授权

    [root@master tools]# chown -R mysql.mysql /app

    [root@master tools]# chown -R mysql.mysql /data

    (5)初始化过程用于生成数据文件

    [root@master tools]# /app/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/app/mysql --datadir=/data/3306/data

    说明:

    ①--initialize-insecure:用于生成空密码,mysql自5.7开始,会自动生成一个临时密码(复杂度、过期时间)

    ②--user=mysql:表示数据库傀儡用户

    ③--basedir:软件目录

    ④--datadir:数据目录

    (6)制作my.cnf文件,其默认位置是/etc/my.cnf

    说明:由于这里不是多实例,因此将配置文件放到默认位置即可(/etc/my.cnf)

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

    (7)制作启动脚本

    cat >/etc/systemd/system/mysqld3306.service<<EOF
    [Unit]
    Description=MySQL Server
    Documentation=man:mysqld(8)
    Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
    After=network.target
    After=syslog.target
    [Install]
    WantedBy=multi-user.target
    [Service]
    User=mysql
    Group=mysql
    ExecStart=/app/mysql/bin/mysqld --defaults-file=/etc/my.cnf
    LimitNOFILE = 5000
    EOF

    说明:启动脚本通常需要关联my.cnf配置文件。

    (8)启动mysql,然后验证

    启动:systemctl start mysqld3306

    [root@master tools]# /app/mysql/bin/mysql -uroot -S /data/3306/mysql.sock -e "select @@server_id"

    说明:初始登录,无密码

    有密码登录方式(随后需要输入密码):

    [root@master tools]# /app/mysql/bin/mysql -uroot -p -S /data/3306/mysql.sock 

    第四部分:优化

    (1)将/app/mysql/bin/加入系统环境变量,永久生效

    ①导入系统环境变量

    [root@master tools]# echo 'export PATH=/app/mysql/bin/:$PATH' >> /etc/profile
    [root@master tools]# tail -1 /etc/profile

    export PATH=/app/mysql/bin/:$PATH

    其他方法:ln -s /app/mysql/bin/* /usr/local/sbin/,用软链接将命令所在路径放在全局路径/usr/local/sbin/下面。

    ②重新加载环境变量
    [root@master tools]# source /etc/profile

    (2)mysql登录验证,不写用户,默认root登录;不考虑多实例情况,可以省略socket文件书写,简化书写如下

    [root@master tools]# /app/mysql/bin/mysql  -e "select @@server_id"

    或者[root@master tools]# mysql  -e "select @@server_id"

    (3)多实例只需要设置

    ①数据目录:datadir=/data/3306/data

    ②my.cnf:配置文件路径/data/3306/my.cnf,修改server_id、port等参数

    ③启动脚本:/etc/systemd/system/mysqld3306.service作如下修改

    ExecStart=/app/mysql/bin/mysqld --defaults-file=/data/3306/my.cnf

    参考网址:https://www.jianshu.com/p/e872bc12f583

  • 相关阅读:
    面向对象第三单元总结与心得体会
    面向对象第二单元总结与心得体会
    面向对象第一单元总结与心得体会
    20183411 李丞灏 2019-2020 《python程序设计》 实验四 爬取QQ音乐中周杰伦歌单 实验报告
    20183411 李丞灏 2020-2021 《python程序设计》 实验三 加密传输文件 实验报告
    20183411 李丞灏 2019-2020《Python程序设计》实验二 报告
    20183411 李丞灏 2019-2020《Python程序设计》 实验一 报告
    OO第四单元 UML、封装以及课程总结
    OO第三单元 规格、JML、测试
    OO Project2 电梯、多线程Overview
  • 原文地址:https://www.cnblogs.com/zxjcwang/p/14900012.html
Copyright © 2011-2022 走看看