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)的图,对我帮助非常大,希望也对你们有帮助。

相关推荐
逑之5 分钟前
C语言笔记10:sizeof和strlen,指针与数组
c语言·笔记·算法
saoys7 分钟前
Opencv 学习笔记:创建与原图等尺寸的空白图像
笔记·opencv·学习
霖霖总总8 分钟前
[小技巧19]MySQL 权限管理全指南:用户、角色、授权与安全实践
数据库·mysql·安全
heartbeat..5 小时前
Spring AOP 全面详解(通俗易懂 + 核心知识点 + 完整案例)
java·数据库·spring·aop
晓幂6 小时前
【2025】HECTF
笔记·学习·web安全
麦聪聊数据7 小时前
MySQL并发与锁:从“防止超卖”到排查“死锁”
数据库·sql·mysql
做cv的小昊7 小时前
【TJU】信息检索与分析课程笔记和练习(8)(9)发现系统和全文获取、专利与知识产权基本知识
大数据·笔记·学习·全文检索·信息检索
AC赳赳老秦7 小时前
DeepSeek 私有化部署避坑指南:敏感数据本地化处理与合规性检测详解
大数据·开发语言·数据库·人工智能·自动化·php·deepseek
hkNaruto8 小时前
【AI】AI学习笔记:MCP协议与gRPC、OpenAPI的差异
人工智能·笔记·学习
myzshare8 小时前
实战分享:我是如何用SSM框架开发出一个完整项目的
java·mysql·spring cloud·微信小程序