MySQL简介与linux系统下的安装

一.MySQL简介

  • MySQL是一个关系型数据库管理系统,瑞典MySQL公司开发,目前属于Oracle旗下产品

  • MySQL是最流行的关系型数据库管理系统之一
    MariaDB,据说是MySQL被甲骨文公司收购后,他的创始人担心MySQL就此没落,又创立出来的一个分支,maria是他的第四个女儿的名字,MariaDB使用起来与MySQL没差。

  • cs架构:客户端-服务器端(client-server)

  • bs架构:浏览器端-服务器端(browser-server)
    MySQL属于cs架构:
    (1)连接层:用于客户端限制
    (2)SQL层:一些SQL语句的定义
    (3)存储引擎层:以什么方式存储的(评判数据库好坏的标准,SQL语句不区分大小写)
    在这里插入图片描述
    数据库存储引擎是数据库底层软件组织,进行创建、查询、更新和删除数据。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能。MySQL 的核心就是存储引擎。

1.MySQL常用存储引擎介绍

  • 数据库存储引擎是数据库底层软件组织,数据库管理系统使用存储引擎进行创建、查询、更新和删除数据。
  • 不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,MySQL的核心就是插件式存储引擎。
  • MySQL查询存储引擎的SQL语句:SHOW ENGINES
特点MyisamNDBMemoryInnoDBXtraDB
存储限制没有没有64TB64TB
事务安全支持支持支持
锁机制表锁页锁表锁行锁行锁
B树索引支持支持支持支持支持
哈希索引支持支持支持
全文索引支持
集群索引支持支持
数据缓存支持支持支持
索引缓存支持支持支持支持
数据可压缩支持
空间使用N/A
内存使用中等
批量插入的速度
支持外键支持支持

二.linux系统下安装MySQL

1)查找yum源,并安装:(必须切换到超级用户
yum search mariadb
yum install mariadb-server.x86_64 -y

第一步:切换到root用户
第二步:搜索并安装mariadb(前提是yum源搭建成功才能安装成功

2)数据库服务管理
systemctl stop firewalld   #关闭防火墙
systemctl status firewalld   #查看防火墙状态
systemctl start mariadb   #开启mariadb服务
systemctl status mariadb  #查看mariadb状态
systemctl  stop mariadb  #关闭mariadb服务
systemctl start mariadb 
systemctl enable mariadb  #开机启动mariadb服务
3)安全性密码设置

我们做实验的过程中,数据库没有密码是没有关系的,但是,如果在实际工作中,不进行安全性密码设置,我们的数据库会很不安全,因此需要进行安全性设置。

mysql_secure_installation  #进入安全性设置

在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
密码设置成功,密码为westos
在超级用户模式下,进入mysql
即 mysql -uroot -pwestos

4)允许远程连接
(1) 关闭mysql服务器的防火墙
systrmctl stop firewalld 
systemctl disable firewalld
(2)用户授权:允许root用户通过westos密码,在任意主机(%)远程登录并操作数据库;
grant all privileges on *.* to root @'%' identified by 'westos';
#这里的%可以替换为客户端IP,%表示任意主机,westos是我们设置的数据库的密码

客户端:172。25.254.1
服务端:172.25.254.23
需求:客户端1可以远程连接服务端23的数据库

(3)服务端操作

1)服务端关闭mysql服务器的防火墙:systemctl stop firewalld >systemctl disable firewalld(表示之前的实验当中已经完成了)
2)允许客户端以root身份,密码为westos登录(为服务端自己的身份和密码),%表示任意IP,* .表示数据库中所有数据内容:grant all on * . to root @’%’ identified by ‘westos’;
3)查看自己数据库中的内容:
登录自己的数据库:mysql -uroot -pwestos(之前设置的数据库的密码)
show databases #显示所有数据库
use mysql #进入mysql
show tables #显示数据库中的所有表
select * from user #进入user
或者:
select host.user,password from mysql.user #查看mysql中数据库表的用户user(查看现在可以连接到此数据库的用户)

(4)客户端测试

1)mysql -h 172.25.254.1 -uroot -pwestos #以root身份密码为westos登录服务端(为要登录的服务端的身份和密码)的mysql数据库
2)删除远程登录的授权用户:drop user root@’ %’; ’ '内写要删掉的用户的IP,%指任意用户
通过drop之后,之前连接过服务端的偶IP都没有了,如果需要再次登录,需要服务端重新授权才可以

5)找回密码

如果你的mysql密码忘记了,也不要担心,可以通过以下操作找回密码

systemctl stop firewalld;  #关闭防火墙
mysql_safe --skip-grant-table &;   #跳过授权表 
mysql                                                                   
>update mysql.user set Password=passwd('新密码') where User='root'; #修改root密码
ps aux |grep mysql
kill -9 pid
mysql -uroot -p    #关闭跳过授权表的过程,启动mariadb服务,使用新密码即可  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值