在m1芯片中,虚拟机centos7使用mysql官方的yum源安装mysql没问题,但是在启动mysql的时候会报错,从日志上看是硬件问题,报错信息为 Most likely, you have hit a bug, but this error can also be caused by malfunctioning hardware. 这个错误我没解决,但是我换成了centos8镜像,解决了这个问题
DB全称为datavase,是数据库的意思。数据库实际上就是一个文件集合,是一个存储数据的仓库,按照特定的格式把数据存储起来,用户可以对数据进行增删改查操作。
sql代表你结构化查询语言(Structured Query Language)。sqk是用于访问数据库的标准化语言
sql包含三个部分
DDL 数据定义语言包含数据库及其对象的语句。
DML 数据操作语言,包含允许更新和查询数据的语句(查询语句还可分为DQL)
DCL 数据控制语言允许授予用户访问数据库中特定数据的权限
MySql是一个关系型数据库管理系统。关系型数据库将数据保存在不同的表中,而不是将所有的数据放在一个大仓库中,这样子就增加了速度并提高了灵活性
关系型数据库是依据关系模型创建的数据库
所谓的关系模型就是一对多,多对多,多对一,等一些关系模型。关系模型就是指二维表格模型,因而一个关系型数据库就是由二维表格及其之间的联系组成一个数据组织
非关系型数据库主要是基于“非关系模型”的数据库(由于关系型太大,所以一般用“非关系型”来表示其他类型的数据库)
非关系型模型比如有:
存储的数据是一列列的。关系型数据库以一行作为一个记录,列模型数据库以一列为一个记录。(这种模型,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 erase mariadb mariadb-server mariadb-libs mariadb-devel -y
userdel -r mysql
rm -rf /etc/my*
rm -rf /var/lib/mysql
yum install -y https://dev.mysql.com/get/mysql80-community-release-el8-8.noarch.rpm
yum install -y mysql-community-server
enabled=1 # 这个配置是打开对应的yum源 如果修改为 0 则是关闭对应的 yum 源
enabled=1 # 打开
enabled=0 # 关闭
yum install -y yum-utils
# 这里面有个工具为 yum-config-manager
# 里面有两个参数 --enable 是打开的意思
# --disable 是关闭的意思
yum-config-manager --enable mysql-connectrs-community # 这个是打开对应源的信息
yum-config-manager --disable mysql80-community
yum install -y mysql-community-server --enablerepo mysql57-community --disablerepo mysql80-community
systemctl start mysqld
# 安装完之后,会自动生成下面几个文件
/etc/my.conf # 配置文件
/var/log/mysqld.log # 日志文件,初始化的时候密码在这个里面呢
/var/lib/mysql # 数据目录
grep password /var/log/mysqld.log
6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: chlp_gtpB9iY # 最后面这个就是密码
mysql -p"chlp_gtpB9iY"
# 出现下面这个提示,登陆成功
mysql>
mysqladmin -p"原密码" password “新密码”
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";