mysql安装
卸载不要的环境
某些云服务器可能会自带一些数据库 比如说mariadb或者mysql等
为了保证接下来教学环境的同步 我们首先要先卸载这些自带的数据库并且安装一个同版本的数据库
首先我们查找下是否有mysql或者是mariadb的进程在运行
博主这里没有正在运行中的mysql进程 如果大家检查的时候遇到了需要先停止这些进程的运行 要使用到下面的指令
systemctl stop mariadb.service
接着我们检查下是否有这些软件的安装包的存在
检查之后我们就发现了mariadb安装包的存在
之后我们使用卸载程序进行卸载即可
rpm -qa | grep mariadb | xargs yum remove -y
xargs是什么
它是一个卸载程序 它会将管道中传递过来的内容以命令行参数的形式传递给yum remove
此时我们原先的环境就卸载完毕了
获取mysql官方yum源
怎么下
打开之后我们可以看到一个这样子的画面
这里有许多不同的mysql版本供我们下载 当然我们要结合自己的系统来进行下载安装
我们可以通过下面的指令来查看自己的系统版本
cat /etc/redhat-release
(centos 7.6)
而我们选择常用的mysql5.7版本 在网站中我们可以发现mysql5.7版本中并没有适配centos7.6版本的软件(el就代表的是centos)
所以说我们直接选择最后一个 适配所有centos7版本的mysql
下载完毕之后我们直接拷贝一份放到桌面上 接着使用rz指令来上传到我们的linux系统中
怎么安装
我们下载了安装包之后还需要更新yum源仓库
通过下面的指令我们可以查看更新之前的yum源
ls /etc/yum.repos.d/ -l
我们可以看到并没有mysql的yum源
接着可以通过下面的指令来更新mysql的yum源
rpm -ivh mysql57-community-release-el7.rpm
更新之后再查看我们就会发现mysql出现再yum源仓库里面了
之后我们就能够使用yum来查看mysql的相关软件
安装mysql
安装mysql的过程十分简单 只需要一行指令就可以
yum install -y mysql-community-server
如果说安装过程中我们遇到了密钥过期的问题
Failing package is: mysql-community-client-5.7.39-1.el7.x86_64 GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
我们只需要使用下面的指令更新下密钥就可以了
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
如何确保我们的mysql安装成功?
在Linux下一切皆文件 我们可以通过which指令来查看系统中是否有mysql和mysqld相关的文件
注意图上的目录 我们可以发现mysqld是在sbin(super bin)目录下而mysql是在bin目录下
事实上像mysqld这种网络服务器一般都会在sbin目录下都需要较高的管理员权限才能开启
之后我们可以通过systemctl来启动mysqld服务器 启动完毕之后再查看进程就能够看见mysql了
我们在之间说过 mysql是一个网络服务器 所以说当我们启动mysqld服务器之后查看系统中的网络进程也能够查到mysql(它底层默认是tcp协议)
登录mysql
我们登录mysql的时候需要一个登录密码 可是在安装mysql的时候我们并没有设置这个密码
这个时候我们要先找到mysql 的配置文件 在配置文件中加上本次登录不需要密码的选项
mysql的配置路径一般是这个
/etc/my.cnf
接着我们使用vim编辑器编辑这个文件 在文件的最后一行加上如下的文字就可以了
skip-grant-tables
紧接着我们重启下mysql服务器就可以免密码登录了
登录的指令是
mysql -u root -p
其中u是user的意思 p是password的意思
mysql的一些配置
和上面设置跳过密码一样 我们通过
vim /etc/my.cnf
来修改mysql的配置文件
目前我们增加的配置主要有三个
分别是
- 默认绑定端口号3306
- 默认编码格式使用utf-8
- 默认搜索引擎使用innodb
连接mysql
连接mysql一般使用下面的指令
mysql -h 127.0.0.1 -P 3306 -u root -p // 注意第一个P要大写
在学习过网络部分之后我们很简单就能猜到上面四个参数的含义
- -h host 主机号
- -P port 端口号
- -u user 用户
- -p password 密码
如果我们不写-h的话默认就是本地环回
如果我们不写-P的话默认就是3306端口
最后我们使用quit指令退出mysql
服务器 数据库 表关系
数据库和表在Linux中的存在形式
我们之前在配置mysql服务器的时候发现里面有这样的一个字段
它的含义是我们所有的数据都保存在 /var/lib/mysql
这个路径当中
我们展示这个目录中的所有内容可以发现下面的场景
之后我们登录mysql 查看一下mysql的database
对比观察下这两张图我们不难发现 数据库中的database 在Linux服务器中都有一个对应的目录文件
也就是说创建数据库的本质就是在Linux服务器上创建一个目录创建表的本质就是在Linux服务器上创建一个文件
服务器 数据库 表关系
- 所谓安装数据库服务器 只是在机器上安装了一个数据库管理系统程序 这个管理程序可以管理多个数据库 一般开发人员会针对每一个应用创建一个数据库(db)
- 为保存应用中实体的数据 一般会在数据库中创建多个表 以保存程序中实体的数据
- 它们之间的关系如下图