zoukankan      html  css  js  c++  java
  • 数据库二进制安装

    数据库的下载

    # 方法一:yum下载
    [root@db01 ~]# cat mysql_install.sh #下载脚本
    #!/usr/bin/env bash
    cd /opt
    
    wget http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
    
    yum -y install mysql57-community-release-el7-10.noarch.rpm
    yum -y install mysql-community-server
    
    [root@db01 ~]# cat /var/log/mysqld.log | grep password	#查看密码
    2021-06-09T06:53:14.191215Z 1 [Note] A temporary password is generated for root@localhost: 
    ALTER USER 'root'@'localhost' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;
    
    # 方法二:官网二进制安装
    [root@db01 app]# wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.33-linux-glibc2.12-x86_64.tar.gz
    
    # 卸载掉mariadb
    [root@db01 ~]# rpm -qa | grep mariadb
    mariadb-libs-5.5.68-1.el7.x86_64
    [root@db01 ~]# yum remove mariadb-libs-5.5.68-1.el7.x86_64 -y
    

    基础优化

    # 创建用户
    [root@db01 ~]# useradd -s /sbin/nologin mysql
    [root@db01 ~]# id mysql
    uid=1000(mysql) gid=1000(mysql) groups=1000(mysql)
    
    # 添加环境变量
    [root@db01 ~]# echo export PATH=/app/mysql/bin:$PATH >> /etc/profile.d/hjbl.sh
    [root@db01 ~]# bash
    
    # 检测
    [root@db01 ~]# mysql -V
    mysql  Ver 14.14 Distrib 5.6.51, for linux-glibc2.12 (x86_64) using  EditLine wrapper
    

    理论上讲,数据库的数据应该单独放在一块硬盘上

    [root@db01 ~]# lsblk
    NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sda               8:0    0  100G  0 disk 
    ├─sda1            8:1    0    1G  0 part /boot
    └─sda2            8:2    0   99G  0 part 
      └─centos-root 253:0    0   99G  0 lvm  /
    sdb               8:16   0   20G  0 disk 
    sdc               8:32   0   20G  0 disk
    
    # 格式化
    [root@db01 ~]# mkdir /mysql_data
    [root@db01 ~]# mkfs.xfs /dev/sdb 
    meta-data=/dev/sdb               isize=512    agcount=4, agsize=1310720 blks
             =                       sectsz=512   attr=2, projid32bit=1
             =                       crc=1        finobt=0, sparse=0
    data     =                       bsize=4096   blocks=5242880, imaxpct=25
             =                       sunit=0      swidth=0 blks
    naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
    log      =internal log           bsize=4096   blocks=2560, version=2
             =                       sectsz=512   sunit=0 blks, lazy-count=1
    realtime =none                   extsz=4096   blocks=0, rtextents=0
    
    # 开机自己挂载
    [root@db01 ~]# blkid
    /dev/sda1: UUID="52ca67a0-abcb-4505-bdce-1991438e5326" TYPE="xfs" 
    /dev/sda2: UUID="hmrPpt-A9i3-uCSF-Xdzc-KfpT-nGba-R1OGW5" TYPE="LVM2_member" 
    /dev/sdb: UUID="101fc746-b0a5-45d0-9b29-d0d2a37c5223" TYPE="xfs" 
    /dev/sr0: UUID="2018-11-25-23-54-16-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos" 
    /dev/mapper/centos-root: UUID="6af63308-9d8e-460b-9aec-6ae004e40785" TYPE="xfs"
    
    # 在/etc/fatab写入
    UUID="101fc746-b0a5-45d0-9b29-d0d2a37c5223" /mysql_data xfs defaults 0 0
    
    # 挂载
    [root@db01 ~]# mount -a
    [root@db01 ~]# df -h
    Filesystem               Size  Used Avail Use% Mounted on
    devtmpfs                 475M     0  475M   0% /dev
    tmpfs                    487M     0  487M   0% /dev/shm
    tmpfs                    487M  7.6M  479M   2% /run
    tmpfs                    487M     0  487M   0% /sys/fs/cgroup
    /dev/mapper/centos-root   99G  4.0G   95G   4% /
    /dev/sda1               1014M  190M  825M  19% /boot
    tmpfs                     98M     0   98M   0% /run/user/0
    /dev/sdb                  20G   33M   20G   1% /mysql_data
    
    # 授权
    [root@db01 /]# chown -R mysql.mysql /usr/local/mysql
    
    # 创建系统数据
    [root@db01 scripts]# yum install -y libaio-devel
    [root@db01 scripts]# mkdir /usr/local/mysql/data -p
    [root@db01 scripts]# chown -R mysql.mysql /usr/local/mysql
    
    # 初始化
    # 5.6以上,初始化方式是initialize,5.5以下,参考编译安装的博客
    [root@db01 data]# mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
    # 指定MySQL,指定工作目录,指定数据存储目录
    2021-06-10T10:03:02.648998Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
    2021-06-10T10:03:02.795594Z 0 [Warning] InnoDB: New log files created, LSN=45790
    2021-06-10T10:03:02.834187Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
    2021-06-10T10:03:02.896964Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 0b402beb-c9d3-11eb-b6ce-000c29db598e.
    2021-06-10T10:03:02.898141Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
    2021-06-10T10:03:03.565966Z 0 [Warning] CA certificate ca.pem is self signed.
    2021-06-10T10:03:03.720636Z 1 [Note] A temporary password is generated for root@localhost: BFY2*/MByY)6
    
    # 不安全初始化,没有初始密码
    [root@db01 data]# mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
    
    [root@db01 ~]# cat > /etc/my.cnf <<EOF
    [mysqld]
    user=mysql
    basedir=/usr/local/mysql
    datadir=/usr/local/mysql/data
    socket=/tmp/mysql.sock
    server_id=6
    port=3306
    character-set-server=utf8mb4
    collation-server=utf8mb4_general_ci
    
    [mysql]
    user="root"
    password=""
    socket=/tmp/mysql.sock
    default-character-set=utf8mb4
    
    [client]
    user="root"
    password="zkh0928!"
    socket=/tmp/mysql.sock
    default-character-set=utf8mb4
    EOF
    
    # 启动mysqld客户端
    [root@db01 bin]# ./mysqld --defaults-file=/etc/my.cnf --user=mysql
    
    # 修改数据库密码
    ALTER USER 'root'@'localhost' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;
    
    # 添加环境变量
    [root@db01 ~]# vim /etc/profile.d/hjbl.sh
    export PATH=$PATH:/usr/local/mysql/bin
    [root@db01 ~]# bash
    [root@db01 ~]# echo $PATH
    /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/mysql/bin
    

    systemctl管理

    [Unit]
    Description="这是一个牛逼的数据库"
    After=network-online.target remote-fs.target nss-lookup.target
    Wants=network-online.target
    
    [Service]
    Type=simple
    KillMode=control-group
    User=mysql
    Group=mysql
    ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --user=mysql
    LimitNOFILE = 5000
    
    [Install]
    WantedBy=multi-user.target
    
  • 相关阅读:
    1013团队Beta冲刺day3
    1013团队Beta冲刺day2
    1013团队Beta冲刺day1
    beta预备
    团队作业——系统设计
    个人技术博客(α)
    团队作业—预则立&&他山之石
    软工实践- 项目需求规格说明书
    软工第二次作业 团队选题报告
    结队作业-匹配
  • 原文地址:https://www.cnblogs.com/zhaokunhao/p/14951973.html
Copyright © 2011-2022 走看看