入门学习
需要进行如下的学习:
- mysql的Yum安装方法、二进制包的安装方法(先不需要了解编译安装)
- mysql数据库的启停方法
- my.cnf的常用配置
- mysqldump的使用
- xtrabackup的使用
- mysql的主备库的搭建,复制冲突的处理
进阶学习
需要学习
- 数据库的一些原理:如锁的原理包括表锁、行锁、意向锁,以及底层的MDL锁、latch锁;并发控制、事务的原理。
- 弄懂show engine innodb status;
- my.cnf中更多参数的学习
- GTID原理和实践的深入学习
- xtrabackup原理的掌握,如热备份的原理,备份中锁的情况。
- MHA的学习。
- MGR的学习。
- SQL优化
- 性能优化
其它的知识
Linux的基本技能
如下:
- CentOS等常用发行版本的安装
- 常用命令: ls、ps、mv、rename、cp、mkdir、ln、less、grep
- 熟练使用vim
- 熟练使用ssh scp命令, /etc/ssh/sshd_config的配置,免密登录的方法
- 了解/etc/sysctl.conf的配置
- 增加组和用户,删除组用户 useradd userdel, groupadd groupdel, /etc/passwd, /etc/group
- 性能查看命令:top、iostat、sar (sar -n DEV 1)、vmstat
- LVM卷管理: pvs、lvs、vgs、pvcreate、vgcreate、lvcreate
- 分区命令: parted
- rsync的使用
- 网络命令:ifconfig、ip、route 、netstat, rourte print、netstat -an,如何查看某个端口被那个进程占用了? /etc/sysconfig/network-scripts/ifcfg-eth0配置文件
- 查看时区: date -R
- 查看主机名和修改主机名:hostname、hostnamectl,文件/etc/hosts
- 包管理命令:yum、rpm, /etc/yum.repos.d/XXX
- 文件系统的命令:df -h, mount,umount, /etc/fstab
其它技能
如下:
- 网络的基本知识:子网、掩码、路由、网关,arp协议、arp攻击的原理。
- shell脚本的学习
- python的学习
- 常用高可用软件如keepalive、haproxy
- 监控软件Zabbix、prometheus+grafa
- MyCat、TiDB等分库分表、分布式数据库的学习。