1.版本选择及二进制安装流程

oracle mysql 企业版本可选择

企业主流版本: 5.6 5.7 一定要选择GA版本
企业版本新环境建议GA 6 - 12 月的版本

mysql 5.7.26 二进制版规划和部署

https://downloads.mysql.com/archives/community/
官网下载地址,选择适合自己的版本

  1. 实施
    创建相关的目录,用户
    /application 软件的存放位置
    /data//data 数据的存放位置
    useradd -s /sbin/nologin -M mysql
  1. 解压下载好的mysql并移动到创建好的/application下 修改名字为mysqld
    4 数据初始化
    mysqld --initialize-insecure --user=mysql --basedir=/application/mysql --datadir=/data/3306/data

--initialize-insecure #启动非安全模式,进入数据初始化
--initialize #安全模式进入数据初始化,系统会自动创建root密码
--user 指定用户
--basedir #指定软件存放的目录
--datadir #指定数据存放的位置

5修改配置文件 /etc/my.cnf
cat >/etc/my.cnf < [mysqld] #服务端标签
user=mysql #用户
basedir=/application/mysql #软件目录
datadir=/data/3306/data #数据目录
socket=/tmp/mysql.sock #socket 本地登录身份文件
[mysql] # 客户端标签
socket=/tmp/mysql.sock
EOF

cat >/etc/my.cnf < [mysqld]
user=mysql
basedir=/application/mysql
datadir=/data/3306/data
socket=/tmp/mysql.sock
[mysql]
socket=/tmp/mysql.sock
EOF

6.启动服务的命令放到/etc/init.d下
cp /application/mysql/support-files/mysql.server /etc/init.d/mysqld
修改环境变量
export PATH=/application/mysql/bin:$PATH

centos7环境下mysql.5.7.6 安装完毕,登录还需要修改登录密码

alter user root@'localhost' identified by '123456';
root用户没有密码可能无法登录登录
mysqladmin -uroot -p password ‘123456’

如果想用systemctl启动mysql需要修改配置文件/etc/systemd/system/mysqld.service

[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/application/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000

5.6 版本初始化的方式

/application/mysql/scripts/mysql_install_db --user=mysql --basedir=/application/mysql --datadir=/data/3306/data

同主机版本升级

(1)备份
(2)停原库
(3)安装新版本到新位置
(4)修改环境变量及配置文件
(5)升级数据为新版本(8.0以钱的版本需要执行 mysql_upgrade --force ,8.0 以后不需要 )

mysql 体系结构和管理

1.mysql c/s 模型

 client : 
   socket :  仅本地连接使用
   tcp/ip :  应用(nginx)连接使用

2. 实例

mysqld -----》master thread ----》干活的线程 +预分配的内存结构

3. mysqld的程序结构

(1) mysql的专用管理和操作命令sql
DDL :数据定义语言
DCL : 数据控制语言
DML : 数据操作语言
DQL : 数据查询语言

(2) sql语句的执行过程

连接层

(1)提供连接协议
    sokcet
    tcp/ip
(2)验证可连接性 user password host port 
(3)提供连接线程   show processlist; 查看连接线程
 功能  接受sql语句,返回结果

sql层

 (1)语法检查和sql_MODE检查
 (2)语义检查和权限检查
 (3)解析预处理,生成解析树(执行计划树)
 (4)优化会根据自带算法,评估最优方案(代价模型算法)
      代价=资源   (cpu io mem)
 (5) 选择最优的方案进行执行sql
 (6)提供查询缓存 (默认关闭的)
 (7)提供日志记录 :binlog,默认没有开启。

存储引擎层

    相当于文件系统,将数据取出,在交给sql层结构化成表,返回给用户

你可能感兴趣的:(1.版本选择及二进制安装流程)