mysql 01 linux 上安装mysql服务端

01.linux安装

MySQL的大部分安装包都包含了服务器程序和客户端程序,不过在Linux下使用RPM包时会有单独的服

务器RPM包和客户端RPM包,需要分别安装。

1.查看是否已经安装了MySQL

cpp 复制代码
rpm -qa | grep mysql

如果什么都没有,就是还没有装过MySQL

2.下载MySQL安装包

cpp 复制代码
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

3.安装MySQL包

cpp 复制代码
yum -y install mysql57-community-release-el7-10.noarch.rpm

4.安装MySQL服务端

cpp 复制代码
yum -y install mysql-community-server

02.mysql服务端工作原理

它的服务器程序直接和我们存储的数据打交道,然后可以有好多客户端程序连接到这个服务器程序,发送增删改查的请求,然后服务器就响应这些请求,从而操作它维护的数据。和微信一样, MySQL 的每个客户端都需要提供用户名密码才能登录,登录之后才能给服务器发请求来操作某些数据。

日常使用 MySQL 的情景一般是这样的:

  1. 启动 MySQL 服务器程序。
  2. 启动 MySQL 客户端程序并连接到服务器程序。
  3. 在客户端程序中输入一些命令语句作为请求发送到服务器程序,服务器程序收到这些请求后,会根据请求的
    内容来操作具体的数据并向客户端返回操作结果。

我们的 MySQL 服务器程序和客户端程序本质上都算是计算机上的一个 进程 ,这个代表着 MySQL 服务器程序的进程也被称为 MySQL数据库实例 ,简称 数据库实例 。

每个进程都有一个唯一的编号,称为 进程ID ,英文名叫 PID ,这个编号是在我们启动程序的时候由操作系统随机分配的,操作系统会保证在某一时刻同一台机器上的进程号不重复。比如你打开了计算机中的QQ程序,那么操作系统会为它分配一个唯一的进程号,如果你把这个程序关掉了,那操作系统就会把这个进程号回收,之后可能会重新分配给别的进程。当我们下一次再启动 QQ程序的时候分配的就可能是另一个编号。每个进程都有一个名称,这个名称是编写程序的人自己定义的,比如我们启动的 MySQL 服务器进程的默认名称为mysqld , 而我们常用的 MySQL 客户端进程的默认名称为 mysql 。

03.安装目录

MySQL的安装,换句话说,一定要记住 MySQL 的安装目录:

linux 操作系统上的安装目录:

/usr/local/mysql/

3.1 bin目录下的可执行文件

在 MySQL 的安装目录下有一个特别特别重要的 bin 目录,这个目录下存放着许多可执行文件

例,linux 中这个 bin 目录的绝对路径就是(在我的机器上):

/usr/local/mysql/bin

3.1.1

我们列出一些在 linux 中这个 bin 目录下的一部分可执行文件来看一下(文件太多,全列出来会刷屏的):

04.启动MySQL服务器程序

mysqld 这个可执行文件就代表着 MySQL 服务器程序,运行这个可执行文件就可以直接启动一个服务器进程。但这个命令不常用,我们继续往下看更牛逼的启动命令。

mysqld_safe 是一个启动脚本,它会间接的调用 mysqld ,而且还顺便启动了另外一个监控进程,这个监控进程在服务器进程挂了的时候,可以帮助重启它。另外,使用 mysqld_safe 启动服务器程序时,它会将服务器程序的出错信息和其他诊断信息重定向到某个文件中,产生出错日志,这样可以方便我们找出发生错误的原因。

mysql.server 也是一个启动脚本,它会间接的调用 mysqld_safe ,在调用 mysql.server 时在后边指定 start参数就可以启动服务器程序了,就像这样:

mysql.server start

启动MySQL客户端程序

在我们成功启动 MySQL 服务器程序后,就可以接着启动客户端程序来连接到这个服务器喽, bin 目录下有许多客户端程序,比方说 mysqladmin 、 mysqldump 、 mysqlcheck 等等等等(好多呢,就不一一列举了)。这里我们重点要关注的是可执行文件 mysql ,通过这个可执行文件可以让我们和服务器程序进程交互,也就是发送请求,接收服务器的处理结果。启动这个可执行文件时一般需要一些参数,格式如下:

mysql -h主机名 -u用户名 -p密码

相关推荐
biubiubiu070621 分钟前
Redis缓存穿透,雪崩,击穿
数据库·redis·缓存
lingllllove5 小时前
ubuntu22.04防火墙策略
数据库·postgresql
程序猿小D8 小时前
第三百五十八节 JavaFX教程 - JavaFX滑块
java·前端·数据库
memorycx8 小时前
MySQL(3)
数据库·sql
My LQS8 小时前
使用 EXISTS 解决 SQL 中 IN 查询数量过多的问题
数据库·sql
誰能久伴不乏13 小时前
从零开始:用Qt开发一个功能强大的文本编辑器——WPS项目全解析
数据库·qt·wps
40岁的系统架构师14 小时前
17 一个高并发的系统架构如何设计
数据库·分布式·系统架构
安的列斯凯奇14 小时前
Redis篇 Redis如何清理过期的key以及对应的解决方法
数据库·redis·缓存
小小虫码15 小时前
MySQL和Redis的区别
数据库·redis·mysql
飞翔的佩奇17 小时前
Java项目: 基于SpringBoot+mybatis+maven+mysql实现的图书管理系统(含源码+数据库+答辩PPT+毕业论文)
java·数据库·spring boot·mysql·spring·毕业设计·图书管理