MySQL体系结构和存储引擎
MySQL被设计成为一个可移植的数据库,可移植性就是代码可以在多个系统中运行。
MySQL各系统平台在底层实现方面都各有不同,但是MySQL能保证在各平台上的物理体系结构的 一致性。
MySQL被设计成一个单进程多线程架构的数据库,与SQL Server类似,与Oracle多进程的架构不用(Wins的Oracle也是单进程多线程的结构)。
数据库和数据库实例
数据库:
定义: 物理操作系统文件或者其他形式文件类型的集合,数据库是文件的集合,是按照某种数据模型组织起来并存放于二级存储器中的数据集合。
类型:MySQL数据库中,数据库类型文件可以是frm,MYD,ibd,MYI结尾的文件。
使用NDB引擎时,数据库的文件可能不是操作系统上的文件,而是存在于内存之中。
数据库实例:
MySQL数据库由后台程序以及一个共享内存区域组成的。
数据库实例是程序,是位于用户和操作系统中的一层数据管理软件,
用户需要通过数据库实例,才能操作数据库文件。
MySQL数据库实例在系统上表现为一个进程。
-
centos7安装Mysql5.7
更新yum工具
yum update -y
安装wget工具
cd /安装目录sudo yum install -y wget
使用wget下载mysql yum源
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
添加mysql yum源:
sudo yum localinstall mysql80-community-release-el7-3.noarch.rpm -y
安装yum工具 yum-utils:
sudo yum install -y yum-utils
查看可用的mysql
yum repolist enabled | grep "mysql.*-community.*"
查看所有的mysql版本
yum repolist all | grep mysql
使用指定版本的mysql
关闭mysql8.0
sudo yum-config-manager --disable mysql80-community
开启mysql5.7
sudo yum-config-manager --enable mysql57-community
查看当前启用的mysql版本
yum repolist enabled | grep mysql
安装mysql
sudo yum install -y mysql-community-server
启动MySQL
# 启动Mysqlsudo service mysqld start# 查看Mysql服务无状态sudo service mysqld status
- 报错 Redirecting to /bin/systemctl start mysqld.service
- 原因推测:service mysql start 是重定向到/bin/systemctl restart mysql.service. mysql与mysqld是不同的,前者交互式命令(客户端),mysqld才是后端服务进程,可能是启错了
systemctl start mysqld.servicesystemctl status mysqldsystemctl restart mysqld.service
- 初始化Mysql
# 查看初始化的密码sudo grep 'temporary password' /var/log/mysqld.log# 使用初始化密码进行登录mysql -u root -p# 初始化密码ALTER USER 'root'@'localhost' IDENTIFIED BY 'daasan7ujm^YHN';# 查询Mysql初始化密码的制定策略SHOW VARIABLES LIKE 'validate_password%';# 修改密码验证强度set global validate_password_policy=LOW;# 修改密码的长度set global validate_password_length=6;# 重新设置简单密码ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
启动Mysql实例子
./mysqld_safe&
ps观察mysql是数据库启动后的进程情况:
ps -ef | grep mysqld# root 61537 58828 0 22:25 pts/0 00:00:00 grep --color=auto mysqld# 61537 就是进程号码
- 数据库实例: # ./mysqld_safe&
ps观察MySQL数据库启动后的进程情况: #ps-ef|\grep mysqld
- MySQL体系结构
4
