您的位置:首页 > 数据库 > MySQL

sysbench mysql 数据库性能测试

2017-01-23 09:28 706 查看
 mysql数据库的安装

apt-get install mysql-server ,apt-get install mysql-client, apt-get install libmysqlclient-dev;

                    安装过程中出现设置密码,注意设置了不要忘记了,安装完成后,可以通过下面命令检查是否安装成功:
                    netstat -tap |grep mysql;

登录mysql 数据库

mysql -u root -p password

显示数据库 

> show databases;

显示tables

> show tables;

sysbench 安装 

从github上下载最新sysbench 源码,https://github.com/nuodb/sysbench.git, 使用Ubuntu的用户,不要通过apt-get install sysbench来安装,原因是apt-get 安装的sysbench 不带oltp 脚本。
编译安装sysbench 

查看sysbench 源码中的README说明, ./configure , make , make install 安装sysbench。

数据库测试相关用户和表准备

这里创建数据库 sbtest,这个名字是由 oltp 脚本中数据库的名字决定的

                         mysql -uroot -p password
                         mysql> create database sbtest DEFAULT CHARACTER SET utf8 ;
                         mysql> grant all privileges on sbtest.* to test@'127.0.0.1' identified by 'test';
                         mysql> flush privileges;
                         mysql> show grants for test@'127.0.0.1'

进行创建用户的链接测试

mysql -utest -p‘test’ -h127.0.0.1 -P3306 --database sbtest
注意:数据库中的5个参数必需保证正常联通,才能在下面的数据库测试中能够正常写入和测试。

sysbench mysql 测试 

下面附上sysbench 测试脚本 
vim /sysbench.sh
#!/bin/bash
if [ $1"q" == "q" ];then
        echo "need prepare,run or cleanup"
        exit 1
fi
if [ $1"q" == "runq" ];then
        sysbench --test=./sysbench/sysbench-1.0/sysbench/tests/db/oltp.lua  --report_interval=2 --max-time=100 --oltp-dist-type=uniform --max-requests=0 --mysql-user=test --mysql-password=test --mysql-table-engine=innodb --oltp-table-size=100000 --oltp-tables-count=64
--oltp-range-size=90 --oltp-point-selects=1 --oltp-simple-ranges=1 --oltp-sum-ranges=1 --oltp-order-ranges=1 --oltp-distince-ranges=1 --oltp-non-index-updates=10 --num-threads=240 --mysql-host=127.0.0.1 --mysql-port=3306 run |tee $2.sysbench.output
elif [ $1"q" == "prepareq" ];then
        sysbench --test=./sysbench/sysbench-1.0/sysbench/tests/db/parallel_prepare.lua  --max-time=100 --oltp-dist-type=uniform --max-requests=0 --mysql-user=test --mysql-password=test --mysql-table-engine=innodb --oltp-table-size=100000 --oltp-tables-count=64
--oltp-range-size=90 --oltp-point-selects=1 --oltp-simple-ranges=1 --oltp-sum-ranges=1 --oltp-order-ranges=1 --oltp-distince-ranges=1 --oltp-non-index-updates=10 --num-threads=240 --mysql-host=127.0.0.1 --mysql-port=3306 prepare
elif [ $1"q" == "cleanupq" ];then
        sysbench --test=./sysbench/sysbench-1.0/sysbench/tests/db/oltp.lua  --report_interval=2 --max-time=100 --oltp-dist-type=uniform --max-requests=0 --mysql-user=test --mysql-password=test --mysql-table-engine=innodb --oltp-table-size=100000 --oltp-tables-count=64
--oltp-range-size=90 --oltp-point-selects=1 --oltp-simple-ranges=1 --oltp-sum-ranges=1 --oltp-order-ranges=1 --oltp-distince-ranges=1 --oltp-non-index-updates=10 --num-threads=240 --mysql-host=127.0.0.1 --mysql-port=3306 cleanup
fi

mysql 更改数据库位置

 首先 设置新的存放目录

mkdir -p  /data/mysql

复制原有数据

cp -a /var/lib/mysql/* /data/mysql

修改权限

chown -R mysql:mysql /data/mysql

修改配置文件

vim /etc/mysql/my.cnf

将该文件中 datadir = /var/lib/mysql ==> datadir = /data/mysql

vim /etc/apparmor.d/usr.sbin.mysqld

将该文件中 /var/lib/mysql/ r ==> /data/mysql/ r     #注意,mysql后的/一定要带着

                                                            /var/lib/mysql/** rwk ==> /data/mysql/** rwk

重启服务

/etc/init.d/apparmor restart
/etc/init.d/mysql restart

停止mysql 服务 

     mysqladmin -uroot -p password  shutdown

     
    
             
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: