Mysqldba
mysqlDBA
2)备份:制定和实施数据库备份计划,灾难出现时对数据库信息进行恢复,维护适当介质上的存档或者备份数据。对数据库的备份策略要根据实际要求进行更改,数据的日常备份情况进行监控。备份大概分为两种:一种是定时、计划性的备份,包含全备和增量备份,常用的工具一般为mysqldump以及xtrabackup为代表的第三方备份工具;一种是执行DML时更新和删除的备份,这种备份一般有以下几种备份方式:一种为create tablexxx_mmddhhmm select的方式备份到表中,一种是mysqldump加上条件做备份,还有一种是select into oufile等几种方式,防止执行错误时可以快速的恢复。在日常对数据库的操作中,特别作为一个DBA,永远要给自己留一个后手,保证在需要进行数据恢复的时候可以随手拈来
4)故障处理: 可以和研发一起制定相应的预案,并且和监控结合,当达到一定的阀值,使用相应的脚本自动处理,这样在一定程度上减少DBA的工作量、提高故障处理效率
6)数据库性能优化:产品对外提供服务最重要的一点是用户体验,用户体验中非常重要的是产品的可用性和响应速度。而如何用最合理的资源支持产品提供高可用和高速度的用户体验,这也是DBA的重要职责。在多年的DBA生涯中,个人对数据库故障的总结为:80%的甚至更高的故障来自变态的SQL语句,10%左右的来自数据库架构方面设计的不合理,10%左右的来自硬件、OS层面。那么基本的优化重点就就是对SQL的优化,这个需要给研发人员进行MySQL开发规范进行培训,制定严格的SQL准入规则,审核每一条上线的SQL语句,在SQL源头上堵住大部分,然后就是对慢SQL的监控分析,定期的发给研发进行整改,并督促研发在限定的时间内整改。这部分的工作较为繁琐平淡,但是执行好了,可以杜绝很多不必要的故障,保证业务的高效、稳定运行,这一部分工作非常考验DBA的基础理论知识,考验DBA的责任性和工作的毅力。 个 人认为,一个好的DBA所需要具备的基本技能包含:理解数据备份/恢复与灾难恢复、DBA常用工具集的使用、知道如何快速寻找答案、知道如何监控和优化数 据库性能、尽可能实现自动化、容量监控与规划、索引设计、数据库设计、数据库安全性、持续不断地学习和研究新版本、可以单独的编写独立的或者系统的功能脚本。这些技能基本涵盖MySQL基础理论知识、OS层面知识、硬件知识、网络知识、代码编写能力、架构设计规划能力、监控、运维理念、运维自动化等。因此,做一个DBA,不单纯的数据库层面的,基本知识涵盖很多层面,因此可以说DBA综合知识极高的复合型专业人才。
http://wangwei007.blog.51cto.com/68019/1718311
mysql> show slave status \G; *************************** 1. row *************************** Slave_IO_State: Waiting for master to send event Master_Host: 192.168.0.72 Master_User: slave Master_Port: 3306 Connect_Retry: 60 Master_Log_File: mysql-bin.000003 Read_Master_Log_Pos: 122619318 Relay_Log_File: dkm-server-relay-bin.000010 Relay_Log_Pos: 11910328 Relay_Master_Log_File: mysql-bin.000003 Slave_IO_Running: Yes Slave_SQL_Running: Yes Replicate_Do_DB: Replicate_Ignore_DB: Replicate_Do_Table: Replicate_Ignore_Table: Replicate_Wild_Do_Table: Replicate_Wild_Ignore_Table: Last_Errno: 0 Last_Error: Skip_Counter: 0 Exec_Master_Log_Pos: 122619318 Relay_Log_Space: 15630329 Until_Condition: None Until_Log_File: Until_Log_Pos: 0 Master_SSL_Allowed: No Master_SSL_CA_File: Master_SSL_CA_Path: Master_SSL_Cert: Master_SSL_Cipher: Master_SSL_Key: Seconds_Behind_Master: 0 Master_SSL_Verify_Server_Cert: No Last_IO_Errno: 0 Last_IO_Error: Last_SQL_Errno: 0 Last_SQL_Error: Replicate_Ignore_Server_Ids: Master_Server_Id: 1 Master_UUID: 70ad2da1-f80a-11e6-a44a-623530313666 Master_Info_File: /data/apps/mysql/data/master.info SQL_Delay: 0 SQL_Remaining_Delay: NULL Slave_SQL_Running_State: Slave has read all relay log; waiting for the slave I/O thread to update it Master_Retry_Count: 86400 Master_Bind: Last_IO_Error_Timestamp: Last_SQL_Error_Timestamp: Master_SSL_Crl: Master_SSL_Crlpath: Retrieved_Gtid_Set: Executed_Gtid_Set: Auto_Position: 0
数据迁移
日常
好像除去jenkins 有一个可以来让别人方便 sql的东西 在运维规划里面有说到么 ?
mysqldump: Error: 'Access denied; you need (at least one of) the PROCESS privilege(s) for this operation' when trying to dump tablespaces
报错原因: 缺少process权限导致 解决办法: 授权 mysql> grant process on *.* to 'backup'@'localhost'; Query OK, 0 rows affected, 1 warning (0.00 sec) mysql> flush privileges; Query OK, 0 rows affected (0.00 sec)