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

老生长谈,MySQL具有开源、支持多语言、性能好、安全性高的特点,广受业界欢迎。

在数据爆炸式增长的年代,掌握一种数据库能够更好的提升自己的业务能力(实施工程师)。

此系列将会记录我学习和进阶SQL路上的知识(实施工程师),对未来复盘有很大的帮助,希望也能够给你们带来好处。

MySQL知识笔记

一、安装MySQL(Linux)

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

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

1.1、检测系统是否自带MySQL

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

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

1.2、解压

bash 复制代码
tar xf mysql-8.0.18-1.e17.x86_64.rpm-bundle.tar

ls -l

1.3、创建用户

bash 复制代码
groupadd mysql

useradd -g mysql mysql

1.4、创建数据目录

bash 复制代码
mkdir -p /data/mysql

chown mysql:mysql /data/mysql

1.5、安装RPM依赖包

bash 复制代码
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、创建配置文件

bash 复制代码
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、初始化

bash 复制代码
#初始化完毕后,密码为空
mysqld --defaults-file=/etc/my.cnf --initialize-insecure

ls -l /data/mysql/

1.8、启动和停止MySQL

bash 复制代码
#启动
systemctl mysqld.server
#停止
systemctl stop mysqld.service
#查看MySQL状态
systemctl status mysqld.service

1.9、设置开机自启

bash 复制代码
systemctl enable mysqld.service

2、MySQL的简单使用

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

2.1、连接数据库

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

2.2、创建和使用数据库

bash 复制代码
#创建test数据库
create database test;
#使用test数据库
use test

2.3、增、删、改、查

相信大家参加或者准备参加工作都已经掌握基本的CRUD操作语句了,这里就不过多赘述了。

这里放一张有关连接(JOIN)的图,对我帮助非常大,希望也对你们有帮助。

相关推荐
自传.18 分钟前
尚硅谷 Vibe Coding|第一章 AI 编程基础理论 学习笔记
笔记·学习·尚硅谷·vibe coding
jieyucx21 分钟前
SQL 查询终极高阶通鉴:从零基础拆解到工业级多表联查、窗口函数与索引优化
数据库·sql
ai_coder_ai1 小时前
论 NoSQL 数据库技术及其应用
数据库·nosql
chase。2 小时前
【学习笔记】SimpleVLA-RL:通过强化学习扩展 VLA 训练
笔记·学习
AOwhisky2 小时前
Redis 学习笔记(第一期):概述、安装配置与核心理论
运维·数据库·redis·笔记·学习·云计算
ytttr8733 小时前
C# 定时数据库备份工具
开发语言·数据库·c#
智者知已应修善业3 小时前
【51单片机8位数码管同时倒计时从9999】2024-1-25
c++·经验分享·笔记·算法·51单片机
睡不醒男孩0308233 小时前
自建 Prometheus+Grafana 与 CLUP 深度监控 PG 集群有什么区别?
数据库·oracle
就叫_这个吧3 小时前
IDEA Mybatis xml文件,实现sql语句联想,自动填入补充
xml·mysql·intellij-idea·mybatis