在m1芯片中,虚拟机centos7使用mysql官方的yum源安装mysql没问题,但是在启动mysql的时候会报错,从日志上看是硬件问题,报错信息为 Most likely, you have hit a bug, but this error can also be caused by malfunctioning hardware. 这个错误我没解决,但是我换成了centos8镜像,解决了这个问题
centos7和8的镜像
文章目录
- 一.MySQL数据库介绍
- 二.通过yum安装mysql
- 三.查找密码和修改密码
一.MySQL数据库介绍
- 什么是数据库DB
DB全称为datavase,是数据库的意思。数据库实际上就是一个文件集合,是一个存储数据的仓库,按照特定的格式把数据存储起来,用户可以对数据进行增删改查操作。
- sql
sql代表你结构化查询语言(Structured Query Language)。sqk是用于访问数据库的标准化语言
sql包含三个部分
DDL 数据定义语言包含数据库及其对象的语句。
DML 数据操作语言,包含允许更新和查询数据的语句(查询语句还可分为DQL)
DCL 数据控制语言允许授予用户访问数据库中特定数据的权限
- mysql是什么
MySql是一个关系型数据库管理系统。关系型数据库将数据保存在不同的表中,而不是将所有的数据放在一个大仓库中,这样子就增加了速度并提高了灵活性
- 什么是关系型数据库
关系型数据库是依据关系模型创建的数据库
所谓的关系模型就是一对多,多对多,多对一,等一些关系模型。关系模型就是指二维表格模型,因而一个关系型数据库就是由二维表格及其之间的联系组成一个数据组织
- 什么是非关系型数据库(NOSQL)
非关系型数据库主要是基于“非关系模型”的数据库(由于关系型太大,所以一般用“非关系型”来表示其他类型的数据库)
非关系型模型比如有:
存储的数据是一列列的。关系型数据库以一行作为一个记录,列模型数据库以一列为一个记录。(这种模型,IO很快,主要是一些分布式数据库)
- 区别
1.关系型数据库:
优点:
1、易于维护:都是使用表结构,格式一致;
2、使用方便:SQL语言通用,可用于复杂查询;
3、复杂操作:支持SQL,可用于一个表以及多个表之间非常复杂的查询;
4、学习成本低。
缺点:
1、读写性能比较差,尤其是海量数据的高效率读写;
2、固定的表结构,灵活度稍欠;
3、高并发读写需求,传统关系型数据库来说,硬盘I/O是一个很大的瓶颈。
--------------
2.非关系型数据库
优点:
1、格式灵活:存储数据的格式可以是key,value形式、文档形式、图片形式等等,文档形式、图片形式等等,使用灵活,应用场景广泛.
2、速度快:可以使用硬盘或者内存作为载体,而关系型数据库只能使用硬盘;redis数据库单线程10W
3、成本低:数据库部署简单,基本都是开源软件。
缺点:
1、不提供sql支持,学习和使用成本较高;
2、无事务处理;
二.通过yum安装mysql
- 通过mysql官网下载yum源
- 选择yum
- 选择centos8 下面搞错误了
- 获取下载链接,使用右键有一个复制链接,这个就是下载链接
- 为了防止centos中还有其他的mariadb等一些软件,所以清理环境
yum erase mariadb mariadb-server mariadb-libs mariadb-devel -y
userdel -r mysql
rm -rf /etc/my*
rm -rf /var/lib/mysql
- 在centos8 使用yum下载mysql的镜像源 下载是centos8的链接
yum install -y https://dev.mysql.com/get/mysql80-community-release-el8-8.noarch.rpm
- 下载yum源的rpm安装包
yum install -y mysql-community-server
- 关闭源,就是修改yum源文件中的一个配置文件,如下
里面有一个配置项
enabled=1 # 这个配置是打开对应的yum源 如果修改为 0 则是关闭对应的 yum 源
- 三种关闭源的方法
- 第一种方法则是使用 vim 直接打开对应的 .repo 文件直接修改配置项
enabled=1 # 打开
enabled=0 # 关闭
- 使用yum-utils工具
yum install -y yum-utils
# 这里面有个工具为 yum-config-manager
# 里面有两个参数 --enable 是打开的意思
# --disable 是关闭的意思
yum-config-manager --enable mysql-connectrs-community # 这个是打开对应源的信息
yum-config-manager --disable mysql80-community
- 临时关闭yum源
yum install -y mysql-community-server --enablerepo mysql57-community --disablerepo mysql80-community
- 下载完之后直接启动mysql
systemctl start mysqld
# 安装完之后,会自动生成下面几个文件
/etc/my.conf # 配置文件
/var/log/mysqld.log # 日志文件,初始化的时候密码在这个里面呢
/var/lib/mysql # 数据目录
三.查找密码和修改密码
- 查看密码
当启动mysql后,会生成一个随机的密码,在mysql的日志文件中会随机生成一个密码
grep password /var/log/mysqld.log
6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: chlp_gtpB9iY # 最后面这个就是密码
- 登陆mysql
mysql -p"chlp_gtpB9iY"
# 出现下面这个提示,登陆成功
mysql>
- 修改密码
mysqladmin -p"原密码" password “新密码”
- 然后就可以使用新改的密码登陆mysql
- 关闭mysql密码强度策略,生产环境切勿尝试,首次启动不可关闭
vim /etc/my.cnf
validate-password=OFF # 新添加的,这个针对于centos7,
# 下面这个是针对于 centos8
validate_password.check_user_name=OFF
validate_password.length=1
validate_password.mixed_case_count=0
validate_password.number_count =0
validate_password.policy=0
validate_password.special_char_count=0
- 跳过密码进入数据库,用于忘记密码时使用
skip-grant-tables
# 以上两个参数不可同时存在
mysql # 直接使用这个命令可以直接进入到mysql
# 再执行下面这个语句
update mysql.user set authentication_string=password( "修改的密码") where User='root' and Host="localhost";