1、MySQL-DBA工作职责
开发DBA
运维DBA
初级
安装、搭建
中级
数据库管理员、用户权限、索引管理、存储引擎、备份恢复、主从、故障处理
高级
性能优化、集群高可用
2、MySQL学习框架
MySQL简介及安装(必会)
MySQL体系结构和基础管理(熟悉)
MySQL-SQL语句(熟悉)
MySQL基础优化-索引及执行计划(必会)
MySQL存储引擎(熟悉)
MySQL日志管理(必会)
MySQL备份恢复(必会)
MySQL主从复制(必会)
MySQL主从复制架构演变-高可用及读写分离(熟悉)
MySQL主从复制架构演变-分布式架构(了解)
MySQL整体优化(熟悉)
NoSQL-Redis缓存技术(熟悉)
NoSQL-MongoDB分布式数据库技术(熟悉)
3、DBA职业素养
人品
重中之重
严谨
理论支撑,实践检验
细心
变更操作,多思考
心态
顶住压力
==========================================
熟悉操作系统
熟悉业务(开发)
熟悉行业发展(未来)
热爱数据库
4、MySQL版本(企业)
规范
GA版本:稳定的发布版本
版本类型
E:Enterprise 企业版 收费
C:Community 社区版 开源免费
企业选择
新上的环境,会选择GA6-12月的版本
企业主流版本
5.6版本:5.6.34 5.6.36 5.6.38
5.7版本:5.7.20 5.7.22 5.7.24
MySQL分支
Oracle MySQL
MariaDB
PorconaDB
RDS MySQL
软件下载
地址:https://downloads.mysql.com/archives/community/
RPM包
RPM包二进制包
二进制包源码包:需要编译,需要二次开发,统一配置。
研究源码:可查看MariaDB源码
源码包GA时间
GA时间5、安装和基本配置
上传到/data目录
mkdir -p /data/
rz -E mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz
解压缩二进制包并安装配置
tar zxf mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz #解压
mv mysql-5.7.20-linux-glibc2.12-x86_64 mysql #更改名字
mv mysql /data
tail -1 /etc/profile #设置环境变量
export PATH=/data/mysql/bin:$PATH
. /etc/profile #重载环境变量
mysql -V #检查环境变量
mysql Ver 14.14 Distrib 5.7.20, for linux-glibc2.12 (x86_64) using EditLine wrapper
卸载MariaDB依赖包
yum remove -y mariadb-libs
创建用户
useradd -M -s /sbin/nologin mysql
初始化数据库
5.6版本:
/data/mysql/scripts/mysql_install_db --user=mysql --basedir=/data/mysql --datadir=/data/mysql/data
初始化以后无密码无安全策略
5.7版本:
/data/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/data/mysql --datadir=/data/mysql/data
命令变为mysql/bin/mysqld
两种初始化方式
1)开始临时密码和安全策略 (secure) 密码复杂度和密码过期时间
2)兼容以前版本,无密码五策略
命令
mkdir -p /data/mysql/data
yum install -y libaio-devel
/data/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/data/mysql --datadir=/data/mysql/data
成功
2019-04-03T03:23:48.899553Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2019-04-03T03:23:49.984846Z 0 [Warning] InnoDB: New log files created, LSN=45790
2019-04-03T03:23:50.155597Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2019-04-03T03:23:50.219121Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: e6495512-55bf-11e9-b571-000c29d68861.
2019-04-03T03:23:50.224587Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2019-04-03T03:23:50.226885Z 1 [Warning] root@localhost is created with an empty password ! Please consider switching off the --initialize-insecure option.
初始化参数介绍
--initialize-insecure #无安全策略初始化
--user=mysql #mysql用户
--basedir=/data/mysql #mysql软件目录
--datadir=/data/mysql/data #mysql数据存放目录
修改权限
chown -R mysql.mysql /data/ #授权/data目录
准备启动脚本和基础配置文件
准备sys-v启动脚本
cp /data/mysql/support-files/mysql.server /etc/init.d/mysqld
准备主要配置文件
vim /etc/my.cnf
[mysqld]
user=mysql
basedir=/data/mysql
datadir=/data/mysql/data
socket=/tmp/mysql.sock
server_id=6
[mysql]
socket=/tmp/mysql.sock
启动MySQL
service mysqld start |stop|restart|
Starting MySQL.Logging to '/data/mysql/data/db01.err'.
.. SUCCESS!
准备systemctl启动脚本
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=/data/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000
创建数据库密码
mysqladmin -uroot -p password XXX (123)
网友评论