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