第一章 MySQL 简介及安装

1. 数据库的介绍

在这里插入图片描述

关系型数据库RDBMS非关系型NOSQL分布式NEWSQLMySQL分支
OracleMongoDBAliSQLOracle
MySQLRedisOBMariadb
PGESTiDBpercona
MSSQLMemcachedRDS,PolarDB,OB

GA时间: 5.6.38 5.7.20 20170913
下载地址:
https://downloads.mysql.com/archives/community/

2. MySQL5.7的介绍及安装
####软件上传解压
[root@db01 /usr/local]# tar xf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz 
[root@db01 /usr/local]# mv mysql-5.7.26-linux-glibc2.12-x86_64 mysql
####原始环境检查
[root@db01 ~]# rpm -qa |grep mariadb
[root@db01 ~]# yum remove mariadb-libs -y 
####用户权限准备
[root@db01 /etc]# useradd -s /sbin/nologin -M mysql
[root@db01 /etc]# chown -R mysql.mysql /data
[root@db01 /etc]# chown -R mysql.mysql /usr/local/mysql
####初始化数据(建库)  *****
环境变量设置:
vim /etc/profile
export PATH=/usr/local/mysql/bin:$PATH
生效:source /etc/profile
5.7+ : mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/data  
报错:mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
解决:[root@db01 ~]# yum install -y libaio-devel 
  • 说明:
    –initialize 使用一种安全的模式初始化数据.
    特点: 1. 初始密码 2. 密码复杂度 3. 密码过期时间

    –initialize-insecure 使用一种不安全的模式初始化数据.
    1.无密码 2.无密码复杂度

    5.7-:初始化
    /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/data 
    
    ####配置文件准备 
    [root@db01 ~]# vim /etc/my.cnf
    [mysqld]
    user=mysql
    basedir=/usr/local/mysql
    datadir=/data/mysql/data
    socket=/tmp/mysql.sock
    [mysql]
    socket=/tmp/mysql.sock
    ####启动关闭数据库 (SysV)
    [root@db01 ~]# cd /usr/local/mysql/support-files/
    [root@db01 /usr/local/mysql/support-files]# ./mysql.server start
    [root@db01 /usr/local/mysql/support-files]# cp mysql.server /etc/init.d/mysqld
    [root@db01 /usr/local/mysql/support-files]# service mysqld start /stop / restart
    ####实现 systemd 模式管理mysql启动关闭(systemd):
    vim /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=/app/mysql/bin/mysqld --defaults-file=/etc/my.cnf
    LimitNOFILE = 5000
    或者:   
    chkconfig --add mysqld 
    systemctl start/stop/restart  mysqld 
    
3. 配置文件参数
[mysqld]
# 基本配置
basedir=/usr/local/mysql/   # 程序路径
datadir=/data/mysql/data    # 数据路径
socket=/tmp/mysql.sock      # socket文件位置
server_id=51                # 主机编号
port=3306                   # 端口号
secure-file-priv=/tmp       # into outfile 安全路径
autocommit=0                # 自动提交功能(1/0)
max_allowed_packet          # 控制最大数据包大小
#日志有关
log_bin=/data/binlog/mysql-bin # 二进制日志位置
binlog_format=row              # 二进制日志格式
sync_binlog=1				   # 控制二进制日志刷新策略
gtid-mode=on				   # 开启GTID模式
enforce-gtid-consistency=true  # 强制GTID一致性
log-slave-updates=1            # 从库中强制更新GTID事务到本地binlog (MHA必须开,双主模式)
expire_logs_days   			   # 二进制日志过期时间
slow_query_log=1		       # 慢日志开关
slow_query_log_file            # 慢日志路径
long_query_time				   # 慢日志记录条件(时间)
log_queries_not_using_indexes  # 慢日志记录条件(不走索引的)
log_error                      # 错误日志路径
log_timestamps=system          # 错误日志时间=系统时间 
general_log=1                  # 通用日志开关
general_log_file               # 通用日志路径
#InnoDB存储引擎相关
innodb_flush_log_at_trx_commit=1 # redo刷新策略(0/1/2)
innodb_buffer_pool_size=2048M	 # 内存池大小
innodb_flush_method=O_DIRECT	 # 数据和redo刷写策略
innodb_log_buffer_size	         # redo buffer大小
innodb_file_per_table=1          # 独立表空间设置
innodb_data_file_path 		     # 共享表空间文件配置
innodb_log_file_size             # redo 文件的大小
innodb_log_files_in_group        # redo 文件的个数
transaction_isolation			 # 隔离级别(RC,RR)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值