在Linux上安装MySQL.7数据库,以及数据库文件简单介绍

MySQL系列文章目录

第一章 在Linux上安装MYSQL数据库



前言

本人数据库小菜鸡,刚入坑MySQL不久,平时工作中会记录零零碎碎的知识,现在打算整合整合。也希望能够帮助到其他程序媛,如文章内任何不对的地方,欢迎指正~~~


一、查看Linux系统的可用空间大小

执行命令df 查看磁盘空间大小,显示格式为:文件系统 容量 已用 可用 已用% 挂载点,打算放在根目录/下,可以看到剩余空间78G充足,个人习惯安装软件前查看空间是否足够。

df -h

在这里插入图片描述

二、下载MySQL数据库

1.下载

下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads
这里下载社区版MySQL5.7,选择Linux-generic通用,选择64位,可根据个人情况下拉选择MySQL要安装的环境,不用环境的MySQL包不一样。

在这里插入图片描述

跳转的界面选择不登录,直接下载

在这里插入图片描述

我这里用MobaXterm工具连接Linux可以直接上传文件到Linux,如果是直接在Linux机器上执行下载,要切换到有命令权限的账号,通过wget 命令直接下载到本地,如下:

wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz 

2.创建文件夹Mysql

执行cd命令跳转到根目录/,执行ls命令查看当前目录下的文件夹,执行mkdir创建目录Mysql,mkdir不带参数,默认新建的文件夹当前用户是所有者权限,别的用户只是读取,代码实例:

cd /
ls
mkdir Mysql

在这里插入图片描述

在这里插入图片描述
将MySQL安装包上传到新建的文件夹Mysql,如果是使用wget,先创建文件夹再运行wget就下载到当前目录,如果下到别的地方,想复制到自己创建的目录下,可以执行命令copy

copy 压缩包全名 /Mysql/

查看下载后的压缩包:

在这里插入图片描述

二、安装MySQL数据库

1. 解压缩文件

执行解压缩命令tar:

tar -xvf mysql-5.7.41-linux-glibc2.12-x86_64.tar.gz

在这里插入图片描述
在这里插入图片描述

解压缩完成,执行ls查看当前目录下的对象,可以看到解压缩后的文件夹

在这里插入图片描述

2. 移动解压缩的文件并重命名

此文件夹的内容是MySQL数据库,在后面会提到。登录mysql的用户最好不要采用root用户或带root权限,一般都是新创建一个用户。
用户组类似于用户的集合,可以理解为系统中很多账号权限一样,那么建一个用户组,统一放这些权限相同的用户信息,如果要修改这批用户的权限,更改用户组即可,详情可参考:https://blog.csdn.net/xiaofengdada/article/details/122294475

 mv mysql-5.7.41-linux-glibc2.12-x86_64 /usr/local/mysql  # mv 文件夹名 目标路径/更名后的文件名
 groupadd mysql   #创建用户组 mysql
 useradd -r -g mysql mysql    #用户组mysql下创建mysql用户
 cat /etc/group  #查看所有用户组

在这里插入图片描述在这里插入图片描述

3. 创建数据目录并赋予权限

创建一个存放MySQL数据库数据的目录,存放数据表结构、数据表内容、数据索引等等,此处称数据目录。pwd命令查看当前所在路径,mkdir -p参数是能直接创建一个不存在的目录下的子目录,chown授权给用户mysql。

mkdir -p  /data/mysql
chown mysql:mysql -R /data/mysql  #

在这里插入图片描述

4. 配置my.cnf

Linux系统中的/etc目录下,包含了配置文件,服务、开机运行的脚本等信息。Linux操作系统运行时,会读取/etc目录的各种配置文件。
vim是编辑文件的命令,后面跟文件名,加上路径就可以编辑系统上别的目录下的文件。vi也是编辑文件夹的命令,两个差不多,但vim比vi好使点,可以无限制撤销,vim 是vi的升级版本,兼容vi的所有指令。my.cnf是mysql的配置文件。

vim /etc/my.cnf

按insert键进入文件的编辑模式,[mysqld_safe]部分注释(暂时没用到,懒得创建文件夹,先注释),[mysqld]修改文件内容:

port=3306       #端口号
user=mysql        #用户名
basedir=/usr/local/mysql   #刚刚那个数据库基础架构的目录
datadir=/data/mysql       #存放数据信息的目录
socket=/tmp/mysql.sock   #mysql的套接字文件,mysql以socket方式运行的sock文件位置
log-error=/data/mysql/mysql.err   #错误日志的存放位置
pid-file=/data/mysql/mysql.pid   #mysqld 进程的 pid ,pid 亦即 Process ID
#character config
character_set_server=utf8mb4    # 指定数据库字符集utf8
symbolic-links=0      #是否支持符号链接,即数据库或表可以存储在my.cnf中指定datadir之外的分区或目录,为0不开启
explicit_defaults_for_timestamp=true

配置文件中其他参数的意思,参考网址:https://www.bbsmax.com/A/GBJrrygZJ0/

在这里插入图片描述
编辑好后按esc退出编辑模式,按英文:wq,回车保存文件。
在这里插入图片描述

5. 初始化数据库

进入MySQL数据库的bin目录

cd /usr/local/mysql/bin/

初始化数据库:

./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize

在这里插入图片描述

打开mysql.error文件,初始化后最有一行最末尾数据库的初始密码,记下来,首次登录的时候使用,我这里打码了,如下所示:

在这里插入图片描述

5. 启动数据库服务并登录

mysql.server是一个 shell 脚本,被用来启动、停止、重启和查看mysql进程服务的。其中有一些选项没有明确指定的时候是有默认值,比如:basedir默认路径为/usr/local/mysql,所以上面解压缩以后把数据库相关文件放到了这个目录下。
将mysql.server服务放置到/etc/init.d/mysql中,代码如下:

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

启动数据库

service mysql start    #启动数据库
ps -ef |grep mysql     #查看数据库进程

在这里插入图片描述

在这里插入图片描述

service mysql stop   #停止MySQL数据库服务
service mysql restart    #重启MySQL数据库服务

不希望每次都到mysql的bin目录下使用mysql的命令则执行以下Linux命令,软链接一下,这样在系统任何路径下都能使用MySQL的命令登录:

ln -s  /usr/local/mysql/bin/mysql    /usr/bin

在这里插入图片描述

6. 修改root账号登录数据库的密码

mysql> SET PASSWORD = PASSWORD('root');  #修改当前用户root的登录密码,每个SQL语句后面以英文分号结尾
mysql> ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;   #修改root的密码不过期
mysql> FLUSH PRIVILEGES;   #刷新权限

在这里插入图片描述

可以修改登录密码的策略

mysql> set global validate_password_policy=0;  #修改密码策略长度要求
mysql> set global validate_password_length=4;  #修改密码策略长度最低为4
mysql> \q  #退出MySQL登录

7. 远程连接数据库报错

若使用MySQL workbench连接数据库提示“host ‘’ is not allowed to connect to this MYSQL server“,如下图:
在这里插入图片描述
修改一下root账号的访问权限

mysql> use mysql;
mysql> update user set host = '%' where user = 'root';   #root可在任何host访问,%可以改成其他指定IP地址,表示仅该IP可以访问
mysql> FLUSH PRIVILEGES;   #刷新

三、数据库以及数据库相关文件的解释

1. 数据库介绍

这是四个MySQL 系统自带的数据库,查看数据库命令如下:

mysql> show databases;

在这里插入图片描述

数据库名备注
mysql存储了MySQL的用户账户和权限信息,一些存储过程、事件的定义信息,一些运行过程中产生的日志信息,一些帮助信息以及时区信息等
information_schema保存着MySQL服务器维护的所有其他数据库的信息,比如有哪些表、哪些视图、哪些触发器、哪些列、哪些索引。这些信息并不是真实的用户数据,而是一些描述性信息,有时候也称之为元数据
performance_schema保存MySQL服务器运行过程中的一些状态信息,可以用来监控 MySQL 服务的各类性能指标。包括统计最近执行了哪些语句,在执行过程的每个阶段都花费了多长时间,内存的使用情况等信息
sys通过视图的形式把information_schema和performance_schema结合起来,帮助系统管理员和开发人员监控 MySQL 的技术性能

查询默认的数据库引擎是InnoDB,加\G以列显示结果集,列很多的时候可以这样查看,比较方便,默认显示结果集是一行行显示结果:

mysql> show engines\G;

2. 查看配置文件中的文件–数据目录

cat /etc/my.cnf  #cat显示指定文件的文件内容,没有vi那种跳转页面,会在命令行全部显示出来

在这里插入图片描述
查看数据文件,数据目录如下:

datadir=/data/mysql

在这里插入图片描述

文件名备注
auto.cnfMySQL启动时,会自动从data_dir/auto.cnf 文件中获取server-uuid值,主从复制时会用到
.pem文件用于ssl认证登陆
ib_buffer_poolinnodb buffer pool 预热
ibdata1系统表空间,也叫作共享表空间,默认文件名为ibdata1。可以通过参数innodb_data_file_path设置文件名和文件大小
ib_logfile事务日志或redo日志,默认有两个文件,文件名分别是ib_logfile0和ib_logfile1
ibtmp1innodb临时表空间
mysql.errmysql启动停止的过程会记录在这个文件内,一般数据库无法启动或者报错等等,都可以查看这个文件内容得到需要的信息
mysql.pidMySQL的PID文件是指某一个MySQL服务器正在运行的标识文件,每个MySQL实例都会有一个PID文件
数据库同名文件夹存放同名数据库的数据

数据目录存放具体表的数据、架构、索引等,不同的存储引擎会产生不同的文件。每个数据库都会产生一个同名文件夹,里面存放各自的数据,见上面蓝色显示,比如我们用命令创建一个数据库test

在这里插入图片描述

再次查看数据目录下,多了一个test的文件夹:

在这里插入图片描述
在这里插入图片描述
数据库里还没有数据,我们执行下面SQL创建一个表a,可以看到test文件夹里点多了a相关文件,.frm是表结构的文件,.ibd是表数据和索引的文件,不同存储引擎会生成不同后缀名的文件。

create table a (id int not null auto_increment primary key,name varchar(10) null)

在这里插入图片描述

3. 查看配置文件中的文件–basedir目录

cat /etc/my.cnf  #cat显示指定文件的文件内容,没有vi那种跳转页面,会全部显示出来

在这里插入图片描述
查看数据文件,basedir目录如下,此处只介绍部分文件,其他可自行再查阅:

basedir=/usr/local/mysql

文件名备注
bin存储可执行文件,mysql自带客户端,mysql服务端
docs存放一些文档
include存放包含的头文件
lib存储库文件
my.cnf配置文件
share错误信息和字符集文件等

![在这里插入图片描述](https://img-blog.csdnimg.cn/db682fb1ece1498eb4b0c753dfb3cee6.png

basedir 类似于数据库安装的位置
datadir 存放数据库的数据


总结

以上就是MySQL 5.7 数据库的安装步骤,,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值