接到一个新的mysql数据库时需要做什么

这期内容当中小编将会给大家带来有关接到一个新的mysql数据库时需要做什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

当我接到一个新的mysql数据库时,需要搞清楚如下情况:

1、这个数据库的版本、字符集、使用的存储引擎、是否为主从复制、是否为高可用、备份情况、查看一下近期的慢查询日志和ERR日志、表的数据量、有多少张表、大表有多大等;

2、查看Mysql当前有哪些触发器和存储过程

mysql> show triggers;
mysql> show events;
mysql> show procedure status;
mysql> SHOW FUNCTION STATUS;

3、查看数据库是否有分区表

select TABLE_NAME from information_schema.PARTITIONS where PARTITION_NAME is not null;

4、执行一会show processlist,看看 Mysql 能有多少并发,一般都是什么sql。

5、跑一下如下工具,看看mysql的读写比例、关注disk读、full join全表扫描、操作系统环境等情况

pt-summary
pt-mysql-summary
pt-query-digest
pt-show-grants
pt-variable-advisor
pt-query-digest
mysqlreport

6、看看数据库有哪些用户

select host,User,Password from mysql.user

7、系统挂载参数

mount -o noatime,nobarrier /dev/sda1/ data

8、看numa是否关闭

numactl --hardware

9、看调度策略是否为deadline或者noop

[root@MySQL02 chenzx]# cat /sys/block/sda/queue/scheduler 
noop anticipatory [deadline] cfq

10、内核参数

vim /etc/sysctl.conf
vm.swappiness <= 10
vm.dirty_ratio<=5
vm.dirty_backgroud_ratio<=10

11、最大文件句柄数

 vi /etc/security/limits.conf 
*                soft      nofile            102400
*                hard      nofile            102400

12、mysql重点参数

innodb_flush_log_at_trx_commit=1
sync_binlog=1 
binlog_format=ROW
innodb_file_per_table = 1
innodb_log_file_size = 4G
innodb_log_files_in_group = 2
innodb_buffer_pool_size
innodb_buffer_pool_instances
master_info_repository = TABLE 
relay_log_info_repository =TABLE
relay_log_recovery = on
sort_buffer_size
join_buffer_size
read_rnd_buffer_size
tmp_table_size

13、审核表结构、字段类型选择是否合理,比如业务中选择性很少的状态status、类型type等字段是否使用tinytint或者smallint类型,这样不仅可以节省存储空间,还能节省BP的利用率、网络传输数据包的大小等。

上述就是小编为大家分享的接到一个新的mysql数据库时需要做什么了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。