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

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

MySQL知识笔记

  • 一、安装MySQL(Linux)
    • 1.1、检测系统是否自带MySQL
    • 1.2、解压
    • 1.3、创建用户
    • 1.4、创建数据目录
    • 1.5、安装RPM依赖包
    • 1.6、创建配置文件
    • 1.7、初始化
    • 1.8、启动和停止MySQL
    • 1.9、设置开机自启
  • 2、MySQL的简单使用
    • 2.1、连接数据库
    • 2.2、创建和使用数据库
    • 2.3、增、删、改、查

一、安装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.1、检测系统是否自带MySQL

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

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

1.2、解压

tar xf mysql-8.0.18-1.e17.x86_64.rpm-bundle.tarls -l

1.3、创建用户

groupadd mysqluseradd -g mysql mysql

1.4、创建数据目录

mkdir -p /data/mysqlchown mysql:mysql /data/mysql

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.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.7、初始化

#初始化完毕后,密码为空
mysqld --defaults-file=/etc/my.cnf --initialize-insecurels -l /data/mysql/

1.8、启动和停止MySQL

#启动
systemctl mysqld.server
#停止
systemctl stop mysqld.service
#查看MySQL状态
systemctl status mysqld.service

1.9、设置开机自启

systemctl enable mysqld.service

2、MySQL的简单使用

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

2.1、连接数据库

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

2.2、创建和使用数据库

#创建test数据库
create database test;
#使用test数据库
use test

2.3、增、删、改、查

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/103811.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Ubuntu系统重装nvidia gpu驱动

1. 卸载原驱动 sudo apt remove *cuda* sudo apt remove *nvidia* sudo /usr/bin/nvidia-uninstall sudo dpkg -l | grep ^rc | cut -d -f3 | sudo xargs dpkg --purge sudo rm -rf ~/.cuda-license-* sudo apt purge nvidia-cuda-toolkit sudo apt remove nvidia-driver-* s…

持续集成/技术交付全流程流水线工具的设计与落地

文章目录 持续集成/技术交付全流程流水线工具的设计与落地概述工具架构设计主要功能模块代码库Jenkins 流水线代码构建自动化测试产品部署监控报警 使用方法步骤一&#xff1a;安装 Jenkins步骤二&#xff1a;创建 Jenkins 流水线步骤三&#xff1a;配置监控报警步骤四&#xf…

计算机系统概论

1、冯诺依曼结构计算机工作原理及层次结构分析 1.1 冯诺依曼计算机的工作原理 存储系统&#xff1a;将程序存放在计算机的存储器中&#xff08;存储系统的快速构建与访问&#xff09;程序控制&#xff1a;按指令地址访问存储器并取出指令&#xff0c;经译码器依次产生指令执行…

Pod和容器设计模式

为什么需要Pod 一些应用的实现是需要多个进程配合完成的&#xff0c;由于容器实际上是一个“单进程”模型&#xff0c;如果在容器里启动多个进程会存在进程管理的难题。在Kubernetes里面&#xff0c;实际上会被定义为一个拥有四个容器的Pod。 Pod相当于进程组 Kubernetes 是…

【实训】“宅急送”订餐管理系统(程序设计综合能力实训)

&#x1f440;樊梓慕&#xff1a;个人主页 &#x1f3a5;个人专栏&#xff1a;《C语言》《数据结构》《蓝桥杯试题》《LeetCode刷题笔记》《实训项目》 &#x1f31d;每一个不曾起舞的日子&#xff0c;都是对生命的辜负 前言 大一小学期&#xff0c;我迎来了人生中的第一次实训…

合宙Air724UG LuatOS-Air LVGL API控件-页面 (Page)

页面 (Page) 当控件内容过多&#xff0c;无法在屏幕内完整显示时&#xff0c;可让其在 页面 内显示。 示例代码 page lvgl.page_create(lvgl.scr_act(), nil) lvgl.obj_set_size(page, 150, 200) lvgl.obj_align(page, nil, lvgl.ALIGN_CENTER, 0, 0)label lvgl.label_crea…

Mediasoup在node.js下多线程实现

mediasoup基于socket.io的交互消息来完成join-room的请求过程。Join的过程&#xff0c;实际就是获取stream的过程&#xff0c;也就是视频加载时间(video-load-speed)。在RTMP系统&#xff0c;视频加载时间是秒开。Mediasoup给出的第一个frame是I-frame&#xff0c;但由于交互的…

HTML5Plus

之前写过在 vue 中使用 mui 框架的方法&#xff0c;因为用 vue 开发后打包 5App 会有一些问题&#xff0c;所以当时用到了&#xff0c;最近又一次开发移动端&#xff0c;不同的是这次使用的是 vue3 开发的&#xff0c;导致之前使用的 vue-awesome-mui 依赖不能使用了&#xff0…

网络威胁防御+资产测绘系统-Golang开发

NIPS-Plus 网络威胁防御资产测绘系统-Golang开发 项目地址&#xff1a;https://github.com/jumppppp/NIPS-Plus NIPS-Plus 是一款使用golang语言开发的网络威胁防御系统&#xff08;内置资产测绘系统&#xff09; 网络威胁流量视图网络威胁详细信息浏览列表网络威胁反制探测攻…

安全模型中的4个P

引言&#xff1a;在安全模型中&#xff0c;经常会碰到PDR,PPDR&#xff0c;IPDRR&#xff0c;CARTA-PPDR等模型&#xff0c;其中的P&#xff0c;是predict&#xff1f;是prevent&#xff1f;还是protect&#xff1f;还是policy呢&#xff1f; 一、4P字典意思解释 1、predict&a…

安全运营中心(SOC)技术框架

2018年曾经画过一个安全运营体系框架&#xff0c;基本思路是在基础单点技术防护体系基础上&#xff0c;围绕着动态防御、深度分析、实时检测&#xff0c;建立安全运营大数据分析平台&#xff0c;可以算作是解决方案产品的思路。 依据这个体系框架&#xff0c;当时写了《基于主动…

【人月神话】深入了解软件工程和项目管理

文章目录 &#x1f468;‍⚖️《人月神话》的主要观点&#x1f468;‍&#x1f3eb;《人月神话》的主要内容&#x1f468;‍&#x1f4bb;作者介绍 &#x1f338;&#x1f338;&#x1f338;&#x1f337;&#x1f337;&#x1f337;&#x1f490;&#x1f490;&#x1f490;&a…