这期内容当中小编将会给大家带来有关接到一个新的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数据库时需要做什么了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。