Mysql
第1章 DBA职责
1.1 初级DBA:
安装部署,备份策略设计与实现,基本参数配置
1.2 中级DBA:
故障排除,监控整个数据库体系,具备优化能力(索引;执行技术;慢日志分析;需要具备sql能力),掌握主从复制基本管理应用及故障处理
1.3 高级DBA:
Mysql性能调优,
第1章 数据库简介:
1.1 什么是数据?
对显示对象,时间抽象显示或存储方式,是对客观事物的性质,状态以及相互关系进行记载的物理符号,是可识别的抽象符号
1.1.1 数据库适合存储什么数据?
1. 重要
2. 非二进制的,文本形式的,更适合存放到数据库中,
3. 有关系;有逻辑的数据
4. 数据管理复杂的
1.2 数据库管理系统
1.1.1 DBMS分类:
RDBMS---关系型数据库的特点:
1. 二维表;
2. 典型产品是oracle 传统企,mysql是互联网企业;
3. 数据存取是通过sql;最大特点是数据安全性强
Nosql---非关系型数据库:
非关系型数据库主要是作为关系型数据库的补充
1.1.2 Nosql特性总览:
1. 不是否定关系型数据库,而是作为补充,现在也有部分替代的趋势
2. 关注高性能,高并发,灵活性,忽略和上述无关的功能
3. 现在也提倡安全性和使用功能
典型产品:Redis(持久化缓存)MongoDB(最接近关系型数据库的Nosql)memcached缓存数据库
管理不使用sql管理,而是用一些特殊的API或数据接口
1.2 数据库相关产品:
1.2.1 常用数据库使用情况排行:
1.1.1 Oracle公司产品介绍:
Oracle数据库版本介绍:
7;8i;9i;10g;11g;12c;18c
Oracle市场应用情况:
1. 市场份额第一,趋势递减
2. 市场空间,传统企业
3. 传统企业也在互联网化
Mysql数据库版本介绍:
5.0;5.1;不成熟版本 5.5;5.6;5.7;8.0
Mysql的市场应用情况
1. 中大型互联网公司
2. 市场空间,互联网领域第一
3. 趋势明显
4. 同源产品:MariaDB;perconaDB
1.1.2 其他公司产品
微软:SQL server
微软和sysbase合作开发的产品,后来自己开发,windows平台3,4线小公司,传统行业在使用
IBM:DB2数据库
市场占有量小,目前只有:国有银行,中国移动在使用
下面三者广泛应用在大型互联网公司:
PostgreSQL MongoDB Redis
1.2 Mysql简介:
1.2.1 Mysql发展史:
1.1.1 Mysql特点介绍:
开源;社区办免费;简单且使用方便;安全可靠,稳定,社区活跃
1.1.2 Mysql产品线的介绍:
Mysql产品线(主线)
3.26---5.2
---正宗后代,CentOS5,6中默认有5.1版本
---CentOS7中默认是MariaDB
5.4---5.7 8.0版本
---借鉴社区好的贡献,进一步开发的版本
---主流版本:5.5 5.6 5.7
1.1.3 企业中关于mysql版本选择:
5.6
选择官网上GA发布了六个月以上的版本
5.7
选择5.7.17以后的GA版本
第2章 Mysql安装部署:
2.1 环境准备:
[[email protected] ~]# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)
[[email protected] ~]# systemctl status firewalld.service
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)
[[email protected] ~]# getenforce
Disabled
[[email protected] ~]# hostname -I
10.0.0.51 172.16.1.51
2.2 Mysql编译安装:
2.2.1 解决依赖关系:
yum install -y ncurses-devel libaio-devel
2.2.2 安装编译工具
yum install -y cmake
2.2.3 创建用户
useradd -s /sbin/nologin -M mysql
2.2.4 解压安装
下载源码包尽量去官网下载
tar xf mysql-5.6.36.tar.gz
cd mysql-5.6.36
cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.6.36 \
-DMYSQL_DATADIR=/application/mysql-5.6.36/data \
-DMYSQL_UNIX_ADDR=/application/mysql-5.6.36/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-DWITH_ZLIB=bundled \
-DWITH_SSL=bundled \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLE_DOWNLOADS=1 \
-DWITH_DEBUG=0
make && make install
2.2.5 创建软链接
ln -s /application/mysql-5.6.36/ /application/mysql
2.2.6 初始化及配置数据库
cp support-files/my*.cnf /etc/my.cnf
cp support-files/mysql.server /etc/init.d/mysqld
chmod 700 /etc/init.d/mysqld
/application/mysql/scripts/mysql_install_db --basedir=/application/mysql/ --datadir=/application/mysql/data --user=mysql
chown -R mysql.mysql /application/mysql/
2.2.7 简化mysql命令
echo 'PATH=/application/mysql/bin/:$PATH' >>/etc/profile
tail -1 /etc/profile
source /etc/profile
echo $PATH
mysql
2.3 启动Mysql服务:
2.3.1 应该会有如下报错:
提示mysql目录中没有tmp目录,手动创建一个即可,然后把目录的属主属组交给mysql用户
mkdir tmp
chown mysql.mysql tmp/
原文地址:http://blog.51cto.com/13520772/2093931