• MySQL知识笔记——初级基础(实施工程师和DBA工作笔记)


    老生长谈,MySQL具有开源、支持多语言、性能好、安全性高的特点,广受业界欢迎。
    在数据爆炸式增长的年代,掌握一种数据库能够更好的提升自己的业务能力(实施工程师)。
    此系列将会记录我学习和进阶SQL路上的知识(实施工程师),对未来复盘有很大的帮助,希望也能够给你们带来好处。

    一、安装MySQL(Linux)

    安装MySQL推荐官网的GA稳定版,以避免不必要的bug出现。系统版本:CentOS 7.1,在安装前我们必须做一些Linux的设置工作确保数据库稳定高效运行。

    • 通过设置swappiness来平衡数据库对swap分区的使用,取值范围为swap(0,100)
    • 0 表示最大限度地使用物理内存,可能会导致内存溢出触发OOM kill
    • 100 表示尽可能使用swap分区,这样会导致数据库的性能降低
    • 建议:开启swap分区,设置swappiness ≤ 10
    # 临时设置
    sysctl -w vm.swappiness=1 # 永久设置
    echo vm.swappiness = 0 >> /etc/sysctl.conf
    # 查看当前swappiness的值的大小
    cat /proc/sys/vm/swappiness
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    1.1、检测系统是否自带MySQL

    为确保不对公司或者客户数据造成损失,同时也防止误操作。

    #查看是否已安装其他版本的MySQL
    rpm -qa | grep mysql
    #普通卸载
    rpm -qa | grep mysql | xargs rpm -e
    #普通卸载报错,说明存在依赖,选择强制卸载
    rpm -qa | grep mysql | xargs rpm -e --nodeps
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    1.2、解压

    tar xf mysql-8.0.18-1.e17.x86_64.rpm-bundle.tar
    
    ls -l
    
    • 1
    • 2
    • 3

    1.3、创建用户

    groupadd mysql
    
    useradd -g mysql mysql
    
    • 1
    • 2
    • 3

    1.4、创建数据目录

    mkdir -p /data/mysql
    
    chown mysql:mysql /data/mysql
    
    • 1
    • 2
    • 3

    1.5、安装RPM依赖包

    yum -y install wget cmake gcc gcc-c++ numactl autoconf ncurses ncurses-devel libaio-devel openssl openssl-devel perl-devel perl-JSON.noarch
    #必要安装(注意顺序)
    rpm -ivh mysql-community-common-8.0.18-1.e17.x86_64.rpm
    rpm -ivh mysql-community-libs-8.0.18-1.e17.x86_64.rpm
    rpm -ivh mysql-community-client-8.0.18-1.e17.x86_64.rpm
    rpm -ivh mysql-community-server-8.0.18-1.e17.x86_64.rpm
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    1.6、创建配置文件

    cat > /etc/my.cnf <<EOF
    [client]
    port=3306
    socket=/tmp/mysql.sock
    
    [mysqld]
    server-id=1
    prot=3306
    user=mysql
    max_connections=500
    socket=/tmp/mysql/sock
    datadir=/data/mysql
    pid-file=/data/mysql/mysql.pid
    log-error=/data/mysql/mysql-error.log
    slow_query-log_file=/data/mysql/mysql-slow.log
    EOF
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    1.7、初始化

    #初始化完毕后,密码为空
    mysqld --defaults-file=/etc/my.cnf --initialize-insecure
    
    ls -l /data/mysql/
    
    • 1
    • 2
    • 3
    • 4

    1.8、启动和停止MySQL

    #启动
    systemctl mysqld.server
    #停止
    systemctl stop mysqld.service
    #查看MySQL状态
    systemctl status mysqld.service
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    1.9、设置开机自启

    systemctl enable mysqld.service
    
    • 1

    2、MySQL的简单使用

    上面详细介绍了MySQL本地RPM包安装的过程,接下来介绍的简单使用。

    2.1、连接数据库

    mysql -h 127.0.0.1 -uroot -p
    
    • 1
    • -h地址,默认值为localhost
    • -u用户,默认为当前系统用户
    • -p密码

    2.2、创建和使用数据库

    #创建test数据库
    create database test;
    #使用test数据库
    use test
    
    • 1
    • 2
    • 3
    • 4

    2.3、增、删、改、查

    相信大家参加或者准备参加工作都已经掌握基本的CRUD操作语句了,这里就不过多赘述了。
    这里放一张有关连接(JOIN)的图,对我帮助非常大,希望也对你们有帮助。
    在这里插入图片描述

  • 相关阅读:
    UVa 10594 Data Flow / 最小费用最大流
    open3d 点云去掉 nan 点和 infinite 点(附python open3d 代码)
    软考-系统架构-2023-反思
    常见的Java上机面试题
    电脑休眠之后唤不醒
    RK3399快速上手 | 03-RK3399启动流程分析
    Java stream sorted使用 Comparator 进行多字段排序
    Keras深度学习实战——基于ResNet模型实现性别分类
    OCI 发布了容器运行时和镜像规范!
    java毕业设计电力公司员工安全培训系统Mybatis+系统+数据库+调试部署
  • 原文地址:https://blog.csdn.net/qq_30068165/article/details/132734271