MySQL服务器的运维与优化

  • Mysql服务器的运维与优化

1.案例目标

(1)了解MySQL的基础命令。

(2)使用MySQL基础运维命令。

(3)了解MySQL数据库优化。

2.案例分析

IP地址

主机名

节点

192.168.104.116

mysql

mysql

  1. 案例实施

3.1mysql运维

  1. 安装数据库

配置本地YUM安装源,将提供的gpmall-repo文件上传至/opt目录,创建local.repo文件

安装数据库并启动,设置初始化数据库:

[root@localhost ~]# yum install -y mariadb mariadb-server

[root@localhost ~]# systemctl start mariadb

[root@localhost ~]# mysql_secure_installation

  1. 创建数据库

创建一个名称为test数据库

在“test”数据库中创建一个名为“tables”数据表。命令如下所示:

  1. 数据库备份

导出整个数据库:

导出一个数据表:

删除test数据库进行导入测试,用mysqldump备份的文件是一个可以直接导入的SQL脚本。有两种方法可以将数据导入,一种用msql命令,把数据库文件恢复到指定的数据库,命令如下所示:

第二种,可以使用source语句方法导入数据库,把数据库文件恢复到指定的数据库,命令如下所示:

(4)添加用户并授权

授权root用户可以在任何节点访问test数据库下所有表,“%”代表所有节点机器,命令如下所示:

添加root用户对test数据库授增、删、改、查的权限,命令如下所示:

3.2MySQL数据库优化

修改数据库配置文件,添加参数,命令如下所示:

参见优化解析:

命令

解析

thread_concurrency

并发线程数,建议为CPU核心数乘以2

max_connections

最大连接(用户)数。每个连接MySQL的用户均算作一个连接

max_connect_errors

最大失败连接限制

bulk_insert_buffer_size

批量插入数据缓存大小,可以有效提高写入效率,默认为8 MB

query_cache_type

控制着查询缓存功能的开启的关闭。0时表示关闭,1时表示打开,2表示只要select 中明确指定SQL_CACHE才缓存

query_cache_size

指定MySQL查询缓冲区的大小,用来缓冲select的结果,并在下一次同样查询的时候不再执行查询而直接返回结果,根据Qcache_lowmem_prunes的大小,来查看当前的负载是否足够高,在数据库写入量或是更新量也比较大的系统,该参数不适合分配过大。而且在高并发,写入量大的系统,建议把该功能禁掉。属重点优化参数(主库增删改-MyISAM)

max_allowed_packet

设定在网络传输中一次可以传输消息的最大值,系统默认为1 MB,最大可1 GB

read_buffer_size

来做MYISAM表全表扫描的缓冲大小,对表进行顺序扫描的请求将分配一个读入缓冲区,MySQL会为它分配一段内存缓冲区。read_buffer_size变量控制这一缓冲区的大小。如果对表的顺序扫描请求非常频繁,并且用户认为频繁扫描进行得太慢,可以通过增加该变量值以及内存缓冲区大小提高其性能

read_rnd_buffer_size

随机读(查询操作)缓冲区大小。当按任意顺序读取行时(例如,按照排序顺序),将分配一个随机读缓存区。进行排序查询时,MySQL会首先扫描一遍该缓冲,以避免磁盘搜索,提高查询速度,如果需要排序大量数据,可适当调高该值。但MySQL会为每个客户连接发放该缓冲空间,所以应尽量适当设置该值,以避免内存开销过大

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值