【MySQL】1.初识MySQL

一.MySQL 安装

1.卸载已有的 MySQL

//查询是否有相关进程
ps axj | grep mysql
ps axj | grep mariadb

//如果有就先把服务关掉(root权限)
systemctl stop mysqld
systemctl stop mariadb.service

//一定有安装包在Linux中,用yum方式获取的安装包都是.rpm形式的
rpm -qa | grep mysql   //查询MySQL的安装包

//卸载安装包
rmp -qa | grep mysql | xargs yum remove -y   //把查到的内容以xargs的形式喂给yum卸载程序

//检查是否卸载成功
ls /etc/my.cnf  //这个目录应该没有了
ls /var/lib/mysql //这个目录应该还有,因为MySQL卸载不会把数据清掉,不影响

2.获取官方 yum 源

下载地址:repo.mysql.com
选择:MySQL 5.7 版本,注意选择匹配的操作系统
使用 rz 工具将 Windows 中下载的.rpm 安装包传送到 Linux 机器上

ls /etc/yum.repos.d/ -l //查看已有的yum源,发现没有MySQL的yum源

rpm -ivh [rpm安装包名字]  //安装MySQL的yum源

yum list | grep mysql //查询有没有与MySql相关的资源

3.安装 MySQL

yum install -y mysql-community-server //yum自动在MySQL的yum源中选择合适的MySQL安装

安装遇到秘钥过期?
解决方案:
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

ls /etc/my.cnf //检查是否存在这个文件
which mysqld   //是否有服务端程序
which mysql    //是否有客户端程序

systemctl start mysqld //启动mysql服务端
ps axj | grep mysqld   //查看服务进程是否已经启动

4.登录 MySQL

vim /etc/my.cnf  //打开配置文件,加入一行:skip-grant-tables,表示登录时跳过密码认证
systemctl restart mysqld //重启服务,使配置文件生效
mysql -uroot -p  //登录

说明:暂时先不讲怎么设置密码,用户管理部分再谈

5.配置 my.cnf

在my.cnf中加入如下内容:
character-set-server=utf8
default-storage-engine=innodb
datadir=/var/lib/mysql  //这是以后数据库文件存放路径
socket=/var/lib/mysql/mysql.sock

二.MySQL 数据库基础

//登录实际上就是连接到本机的或者远端的mysqld
mysql -u [用户名] -h [mysqld所在主机的ip地址] -P [mysqld的端口号] -p
-p:password

1.MySQL 是什么?

  1. MySQL 是基于 CS 的网络服务,mysql 这个进程是客户端,mysqld 是服务端,通常与 3306 端口绑定。
  2. MySQL 是给我们提供数据存取的网络服务
  3. 我们口语上的数据库,指的是在磁盘或内存中,以特定形式组织的数据。

为什么不用操作系统提供的虚拟文件系统?
文件可以存储数据,但是不具备良好的数据管理能力,即对内容增删查改。数据库本质是对数据内容存储的解决方案,程序员并不直接访问文件,而是给数据库提需求,数据库处理需求,并把结果反馈给你。

2.服务器,数据库和表

在这里插入图片描述

3.mysqld 的层状结构

在这里插入图片描述

4.SQL 语句分类

  1. DDL(data definition):数据定义语言,维护存储数据的结构,如 create,drop,alter
  2. DML(data manipulation):数据操纵语言,对数据操作,如 insert,delete,update。特别地,DML 中细分出一个 DQL——数据查询语言,如 select
  3. DCL(data control):数据控制语言,负责权限管理和食物,如 grant,revoke,commit

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-09 23:48:02       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-09 23:48:02       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-09 23:48:02       58 阅读
  4. Python语言-面向对象

    2024-07-09 23:48:02       69 阅读

热门阅读

  1. 设计模式对比

    2024-07-09 23:48:02       21 阅读
  2. 浅谈贝叶斯定理

    2024-07-09 23:48:02       22 阅读
  3. ClickHouse中PRIMARY KEY和ORDER BY关键字的关系

    2024-07-09 23:48:02       21 阅读
  4. 基于Go 1.19的站点模板爬虫

    2024-07-09 23:48:02       24 阅读
  5. C++中的进程和线程的通信交互

    2024-07-09 23:48:02       24 阅读
  6. 如何保证Kafka顺序消费

    2024-07-09 23:48:02       22 阅读
  7. 深入理解Symfony调试工具:从原理到实践

    2024-07-09 23:48:02       26 阅读
  8. 把 .py 文件编译成 .pyd 文件

    2024-07-09 23:48:02       24 阅读
  9. 后端工作之一:CrapApi —— API接口管理系统部署

    2024-07-09 23:48:02       21 阅读
  10. C++ 11 智能指针使用详解

    2024-07-09 23:48:02       17 阅读
  11. Perl 数据类型

    2024-07-09 23:48:02       23 阅读
  12. nvm下载

    nvm下载

    2024-07-09 23:48:02      17 阅读
  13. Python中的格式化输出

    2024-07-09 23:48:02       21 阅读
  14. Ubuntu、CentOs更换源(阿里云的源)

    2024-07-09 23:48:02       21 阅读