Centos安装MySQL数据库

1 MySQL数据库介绍

MySQL是互联网领域里一款最要的,深受广大用户欢迎的开源关系型数据库软件之一、由瑞典MySQL AB公司开发与维护。2006年MySQL AB公司被SUN公司收购,2008年SUN公司又被传统数据数据库领域大佬甲骨文(oracle)公司收购
在这里插入图片描述
MySQL是一种关系型数据库管理系统,关系型数据库的特点是将数据保存在不同的表中,在将这些表放入不同的数据库中,而不是将所有数据统一放在一个大仓库里,这样的设计增加了MySQL的读取速度,灵活性和可管理型也得到了很大提高,访问以及管理MySQL数据库的最常用标准化语言为SQL结构化查询语句。
MySQL数据库的官方网站为 添加链接描述
官方地址提供数据库下载版本:
现在国内的镜像站也支持下载:

2 MySQL数据库安装

2.1 yum源安装

在CentOS 7中默认有安装MariaDB,这个是mysql的分支,一般来说还是使用自己安装的MySQL比较好
在这里插入图片描述
卸载mariadb

yum erase -y mariadb-libs-5.5.60-1.el7.x86_64

1.下载并安装MySQL
下载仓库包

wget -i -c https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm 

安装仓库

rpm -ivh mysql80-community-release-el7-1.noarch.rpm 或 yum -y install mysql80-community-release-el7-3.noarch.rpm

安装mysql 8.0版

yum install -y mysql-community-{server,client,common,libs}-* 

安装完成后,之前的MariaDB就会被覆盖掉

2.2 rpm包安装

官方下载地址:添加链接描述
在这里插入图片描述
在这里插入图片描述
注意:该方法安装时,虽然安装包以及下载到了本地,但是在安装的过程中仍然可能会存在一些依赖,因此需要
修改网络源来安装。
卸载mariadb

rpm -e postfix-2:2.10.1-9.el7.x86_64
rpm -e mariadb-libs-5.5.68-1.el7.x86_64

在这里插入图片描述
1、rpm安装MySQL

tar xf mysql-8.0.16-2.el7.x86_64.rpm-bundle.tar -C /opt/

cd /opt
在这里插入图片描述
yum localinstall *
在这里插入图片描述
2.启动mysql 8.0服务

systemctl start mysqld
systemctl enable mysqld

查看MySQL是不是开机自启,可以执行命令查看开机自启列

systemctl list-unit-files|grep msyqld

3.登录数据库
此时如果要进入MySQL得找出root用户的密码,输入命令

grep "password" /var/log/mysqld.log 

得到密码后,登录mysql,输入命令

mysql -uroot -p   

在这里插入图片描述
此时,你需要给你的MySql重新设置密码,因为MySQL默认的就是必须修改密码后才能操作数据库

ALTER USER 'root'@'localhost' IDENTIFIED BY ‘Nebula@123’;

设置密码的时候需要遵守MySQL密码设置规范,如果不符合规范是不能修改成功的。(大小写字母数字特殊字符)
在这里插入图片描述

3 Mysql命令行基本操作

1、查看数据库
使用SHOW DATABASES或者SHOW SCHEMAS命令查看所有的数据库/模式
在这里插入图片描述
当我们安装 MySQL 8.0 并初始化数据库之后,默认会创建以下系统数据库:
mysql,存储了 MySQL 服务器正常运行所需的各种信息。
information_schema,提供了访问数据库元数据的各种视图,包括数据库、表、字段类型以及访问权限等。
performance_schema,为 MySQL 服务器的运行时状态提供了一个底层的监控功能。
sys,包含了一系列方便 DBA 和开发人员利用 performance_schema 性能数据库进行性能调优和诊断的视图
2、显示某个数据库中的表
use databasename;
show tables;
在这里插入图片描述
3、创建数据库
create database 库名;
例如:创建一个名字为test的库
mysql> create database test;
在这里插入图片描述

4、建表
use 库名;
在这里插入图片描述
create table 表名 (字段设定列表)
例如:在刚创建的aaa库中建立表name,表中有id(序号,自动增长),name(姓名),sex(性别),birth(出身年月)
四个字段

create table name(id int(3) auto_increment not null primary key,name char(8),sex char(2),birthday date);

在这里插入图片描述
5、显示数据表的结构

describe tablename;

在这里插入图片描述
6、增加记录
例如:增加几条相关纪录

mysql> insert into name values(NULL,张三,’男’,’1971-10-01’);
mysql> insert into name values(NULL,'白云','女','1972-05-20');

可用select命令来验证结果

  mysql> select * from name;   

在这里插入图片描述
7、修改记录
例如:将白云的出生年月改为1971-01-10

  mysql> update name set birthday=‘1971-01-10’ where name=‘白云’;
     mysql> update name set birthday=‘1971-01-10’ where id=‘2’;

在这里插入图片描述
8、删除记录
例如:删除张三的纪录。
  
mysql> delete from name where name=’张三’; 
在这里插入图片描述
9、修改表

alter table name modify name char(10);

在这里插入图片描述
10、删库和删表
drop database 库名;
drop table 表名;

4 MySQL 事务

MySQL 事务主要用于处理操作量大,复杂度高的数据。比如说,在人员管理系统中,你删除一个人员,你既需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等等,这样,这些数据库操作语句就构成一个事务!在 MySQL 中只有使用了 Innodb 数据库引擎的数据库或表才支持事务。事务处理可以用来维护数据库的完整性,保证成批的 SQL 语句要么全部执行,要么全部不执行。事务用来管理 insert,update,delete 语句

**原子性:**一个事务(transaction)中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个环节。事务在执行过程中发生错误,会被回滚(Rollback)到事务开始前的状态,就像这个事务从来没有执行过一样。
一致性:在事务开始之前和事务结束以后,数据库的完整性没有被破坏。这表示写入的资料必须完全符合所有的预设规则,这包含资料的精确度、串联性以及后续数据库可以自发性地完成预定的工作。
隔离性数据库允许多个并发事务同时对其数据进行读写和修改的能力,隔离性可以防止多个事务并发执行时由于交叉执行而导致数据的不一致。事务隔离分为不同级别,包括读未提交(Read uncommitted)、读提交(read committed)、可重复读(repeatable read)和串行化(Serializable)
持久性:事务处理结束后,对数据的修改就是永久的,即便系统故障也不会丢失。

5.忘记密码/修改密码

(1)停止服务

    systemctl stop mysqld

(2)修改配置文件

  vim /etc/my.cnf

在这里插入图片描述
跳过密码登录
(3) 重启服务

  systemctl restart  mysqld

(4)登录数据库
在这里插入图片描述
(5)切换当前数据库
在这里插入图片描述
(6)修改密码
先查看本地主机允许范围
在这里插入图片描述
由于我做过主从复制和读写分离,我的root允许范围是全部

  flush privileges;
  alter user 'root'@'%' identified by 'Nebula@123';     %指的是主机范围全部,如果没设置默认主机localhost
  flush privileges;

(7)退出数据库并停止服务

    quit
    systemctl stop  mysqld

(8)修改配置文件
在这里插入图片描述
(9)重启服务登入系统
在这里插入图片描述
修改成功

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值