MySQL框架、体系及产品基础介绍
代表产品:
2.熟悉数据库行业
3. MySQL的企业版本选择
社区版选择:
# iptables -nL
# systemctl stop firewalld
# getenforce
# ping www.baidu.com
# md5sum mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz
1daa30a32b99a92062f481bd3ef8694c mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz
对比官网中的MD5值: 1daa30a32b99a92062f481bd3ef8694c
cd /opt
上传软件包 mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz
# tar xf mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz
# ln -s mysql-5.7.28-linux-glibc2.12-x86_64 mysql
echo 'export PATH=/opt/mysql/bin/:$PATH' >>/etc/profile
source /etc/profile
mysql -V
mysql Ver 14.14 Distrib 5.7.28, for linux-glibc2.12 (x86_64) using EditLine wrapper
5.6 清理遗留环境
# rpm -qa|grep mariadb
mariadb-libs-5.5.60-1.el7_5.x86_64
用yum清理
# yum remove mariadb-libs-5.5.60-1.el7_5.x86_64
删掉/etc/my.cnf已有文件
# rm -rf /etc/my.cnf
yum install -y libaio-devel
5.8 创建相关目录并授权
# mkdir -p /data/3306 -- 存放数据库数据
# useradd -M -s /sbin/nologin mysql -- 创建管理用户
# chown -R mysql.mysql /data/3306
/opt/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/opt/mysql --datadir=/data/3306
如果下载了5.6版本的初始化方式如下:
/opt/mysql/scripts/mysql_install_db --user=mysql --basedir=/opt/mysql --datadir=/data/3306
5.10 准备配置文件
1.影响数据库的启动、工作。
2.影响到客户端连接(本地服务器上发起的)
vim /etc/my.cnf
[mysqld]
user=mysql
basedir=/opt/mysql
datadir=/data/3306
socket=/tmp/mysql.sock
[mysql]
socket=/tmp/mysql.sock
默认配置文件读取顺序
# mysqld --help --verbose|grep my.cnf
/etc/my.cnf ---> /etc/mysql/my.cnf ---> /usr/local/mysql/etc/my.cnf ---> ~/.my.cnf
5.11 准备启动脚本
cp /opt/mysql/support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
# /etc/init.d/mysqld start systemctl start mysqld
enable mysqld systemctl
systemctl status mysqld
mysql
需要设置管理员密码如下:
mysqladmin password 123456
客户端(Client):
服务端(Server) :
总结:利用客户端的命令或者工具,通过本地unix套接字或者IP+Port方式连接服务端mysqld。
1)一个程序至少有一个进程,一个进程至少有一个线程。
2)线程的划分尺度小于进程,使得多线程程序的并发性高。
3)另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。
6.3.1 server 层 / 实例层 ----> Linux OS
-
连接协议:tcp/ip 和unix套接字socket
-
加载授权表:用户密码验证 -
通过密码验证生成连接线程
6.3.2 engine 层 / 存储引擎层 ----> 文件系统