• 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)的图,对我帮助非常大,希望也对你们有帮助。
    在这里插入图片描述

  • 相关阅读:
    使用CodeFirst连接Mysql
    摸鱼大数据——Hive函数10-12
    python+pytest接口自动化测试之接口测试基础
    C#使用Objects Comparer进行对象比较
    【21天学习挑战赛】顺序查找
    linux常用指令
    【数据结构】—— 哈希表/STL使用技巧
    MySQL数据库简介+库表管理操作+数据库用户管理
    [原创] Go/Rust/Kotlin 的协程和队列性能评测
    JS逆向实战14——猿人学第二题动态cookie
  • 原文地址:https://blog.csdn.net/qq_30068165/article/details/132734271