mysql 相关

Linux查看mysql 安装路径

一、查看文件安装路径


由于软件安装的地方不止一个地方,所有先说查看文件安装的所有路径(地址)。

这里以mysql为例。比如说我安装了mysql,但是不知道文件都安装在哪些地方、放在哪些文件夹里,可以用下面的命令查看所有的文件路径
在终端输入:

whereis mysql

回车,如果你安装好了mysql,就会显示文件安装的地址,例如我的显示(安装地址可能会不同)

  1. [root@localhost ~]# whereis mysql
  2. mysql: /usr/bin/mysql /usr/lib/mysql /usr/share/mysql /usr/share/man/man1/mysql.1.gz
复制代码

二、查询运行文件所在路径(文件夹地址)

如果你只要查询文件的运行文件所在地址,直接用下面的命令就可以了(还是以mysql为例):

which mysql

终端显示:

[root@localhost ~]# which mysql
/usr/bin/mysql

 

如何启动/停止/重启MySQL
一、启动方式

1、使用 service 启动:service mysqld start

2、使用 mysqld 脚本启动:/etc/inint.d/mysqld start

3、使用 safe_mysqld 启动:safe_mysqld&

二、停止

1、使用 service 启动:service mysqld stop

2、使用 mysqld 脚本启动:/etc/inint.d/mysqld stop

3、 mysqladmin shutdown

三、重启

1、使用 service 启动:service mysqld restart

2、使用 mysqld 脚本启动:/etc/inint.d/mysqld restart

 

1.确认 MySQL 服务器 是否启用 InnoDB  存储引擎
 
返回结果是:  "InnoDB"   对应的  "Support"等于 “NO”  ,表示未启用  InnoDB  存储引擎。
 
mysql> SHOW  ENGINES;
 
+------------+---------+----------------------------------------------------------+(省略部分结果)
| Engine     | Support | Comment                                                  |(省略部分结果)
+------------+---------+----------------------------------------------------------+(省略部分结果)
| InnoDB     | NO      | Supports transactions, row-level locking, and foreign keys|(省略部分结果)
| MRG_MYISAM | YES     | Collection of identical MyISAM tables                  |(省略部分结果)
| BLACKHOLE  | YES     | /dev/null storage engine (anything you write to it disa(省略部分结果)
| CSV        | YES     | CSV storage engine                                       |(省略部分结果)
| MEMORY     | YES     | Hash based, stored in memory, useful for temporary tables|(省略部分结果)
| FEDERATED  | NO      | Federated MySQL storage engine                           |(省略部分结果)
| ARCHIVE    | YES     | Archive storage engine                                   |(省略部分结果)
| MyISAM     | DEFAULT | Default engine as of MySQL 3.23 with great performance|(省略部分结果)
+------------+---------+----------------------------------------------------------+(省略部分结果)
8 rows in set (0.00 sec)
 
查看某表使用的引擎
 正确方式一:  SHOW TABLE STATUS from  数据库库名  where Name='表名';
 
ansen@neusoft:/myhome$ mysql -uroot -p'mypassword'
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 221
Server version: 5.1.41-3ubuntu12.7 (Ubuntu)
 
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
 
mysql> SHOW TABLE STATUS from mytest where Name='test';
+------------+--------+---------+------------+------+----------------+-------------+(省略部分结果)
| Name | Engine | Version | Row_format | Rows | Avg_row_length | Data_length |(省略部分结果)
+------------+--------+---------+------------+------+----------------+-------------+(省略部分结果)
| test | MyISAM |      10 | Fixed      |    0 |              0 |           0 |(省略部分结果)
+------------+--------+---------+------------+------+----------------+-------------+(省略部分结果)
1 row in set (0.02 sec)
mysql>
 
正确方式二:  mysqlshow  -u 数据库登录帐号 -p '数据库登录帐号密码'   --status   数据库库名   表名
 
ansen@neusoft:/myhome$ mysqlshow  -uroot -p'mypassword'   --status mytest test
 
Database:mytest  Wildcard: test
+------------+--------+---------+------------+------+----------------+-------------+(省略部分结果)
| Name | Engine | Version | Row_format | Rows | Avg_row_length | Data_length |(省略部分结果)
+------------+--------+---------+------------+------+----------------+-------------+(省略部分结果)
| test | MyISAM |      10 | Fixed      |    0 |              0 |           0 |(省略部分结果)
+------------+--------+---------+------------+------+----------------+-------------+(省略部分结果)
ansen@neusoft:/myhome$
 
 
 

mysqlslap简介—MySQL压力测试工具

mysqlslap:load emulation client,mysql自带的一个压力测试工具,自5.1.4版本之后的MySQL client 包含了此工具,下载mysql client rpm包安装后可直接使用

在使用mysqlslap的时候,可以指定sql语句或者是包含sql语句的文件,如果是文件,那么文件中的每一行至少有一个语句(不能一个sql语句分成两行或多行),因为默认的分隔符(delimiter)是换行符,当然,你也可以手动重置新的分隔符。另外,你也不能在文件中添加注释,mysqlslap不支持。。。

mysqlslap有三个步骤:

1、创建schema,table,或者任何你想用来测试的procedure和data,这个是单客户端连接

2、进行负载测试 load test,这一阶段你可以模拟多客户端连接

3、清理现场,你可以指定删除不用的对象、数据,这个是单客户端连接

详细的参数解释:

********************************************************

–auto-generate-sql

自动测试,整个步骤如下,准备数据和压力测试过程可以自定义参数配置。

准备数据:创建测试schema mysqlslap,在其中建一张测试表,包含两个字段(CREATE TABLE `t1` (intcol1 INT(32) ,charcol1 VARCHAR(128));),插入99条随即数据。

压力测试:5个select和5个insert语句,交替执行

清理现场:删除schema mysqlslap

######################################################

与“创建测试表”相关的参数:

######################################################

–auto-generate-sql-add-autoincrement

创建的测试表额外增加一个autoincrement字段,CREATE TABLE `t1` (id serial,intcol1 INT(32) ,charcol1 VARCHAR(128));

–auto-generate-sql-guid-primary

创建的测试表额外增加一个主键,与–auto-generate-sql-add-autoincrement冲突

CREATE TABLE `t1` (id varchar(32) primary key,intcol1 INT(32) ,charcol1 VARCHAR(128));

–auto-generate-sql-secondary-indexes=2

创建的测试表中包含几个索引

CREATE TABLE `t1` (id0 varchar(32) unique key,id1 varchar(32) unique key,intcol1 INT(32) ,charcol1 VARCHAR(128));

–number-char-cols=2

创建的测试表中字符型字段数量

CREATE TABLE `t1` (intcol1 INT(32) ,charcol1 VARCHAR(128),charcol2 VARCHAR(128));

–number-int-cols=2

创建的测试表中数值型字段数量

CREATE TABLE `t1` (intcol1 INT(32) ,intcol2 INT(32) ,charcol1 VARCHAR(128));

–engine=engine_name

创建的测试表的存储引擎

–create

显式指定准备测试数据的sql,可以是sql file

######################################################

与“生成测试data”相关参数#

######################################################

–auto-generate-sql-write-number=#

全部的insert语句的数量

–auto-generate-sql-unique-write-number=#

不同的insert语句的数量

######################################################

与“生成测试query”相关参数

######################################################

–auto-generate-sql-execute-number

自动生成的全部的query数量

–auto-generate-sql-unique-query-number=2

自动生成的不同的query数量,我也搞不太清楚这个啥意思。

–auto-generate-sql-load-type

可以设置的值有:read (scan tables), write (insert into tables), key (read primary keys), update (update primary keys), or mixed (half inserts, half scanning selects). The default is mixed.

–commit=#

多少个sql之后提交一次

–number-of-queries=#

总的query次数(并发数concurrency 与 每个客户端的query次数queries per client 的乘积)

如果设置–number-of-queries=10 –concurrency =2 那么每个客户端执行5个query

不能与auto-generate-sql-execute-number共存,auto-generate-sql-execute-number=number-of-queries/concurrency

######################################################

其他

######################################################

–host

–port

–user

–password

–protocol

–socket

–concurrency=#

并发数量

–iterations=#

重复的次数(相同的测试多进行几次,求一个平均值),指的是整个步骤的重复次数,包括准备数据、测试load、清理现场。

–delimiter

在不使用–auto-generate-sql的情况下,–create和–query后面指定的str或者sql-file中的语句分隔符,最好重新设置为”;”

–detach=#

在N个语句之后重新连接mysql,重新创立连接

–create-schema

进行测试的schema(在mysql中也就是db),默认会创建一个名为mysqlslap的schema

–post-query

–pre-query

测试前后执行的sql(也可以是sql文件)

–post-system

–pre-system

测试前后执行的os命令

–debug-info

打印内存和cpu信息

–ssl-ca=file_name

–ssl-capath=dir_name

–ssl-cert=file_name

–ssl-cipher=cipher_list

–ssl-key=file_name

–ssl-verify-server-cert

ssl相关设置

《一个非常有用的参数》

–only-print

如果不知道测试内容,可以使用–only-print把测试sql打印出来

当你不知道某个参数作用的时候就可以结合它把测试sql打印出来对比一下就一清二楚了。

**************************************************

例子:

[root@10.1.30.180 ~]# mysqlslap -a –auto-generate-sql-guid-primary –auto-generate-sql-load-type=mix –auto-generate-sql-unique-query-number=5 –auto-generate-sql-unique-write-number=6 –auto-generate-sql-secondary-indexes=4 –concurrency=100 –engine=myisam –number-char-cols=4 –number-int-cols=3 –post-system=”date” –verbose –pre-system=”date” –auto-generate-sql-execute-number=10011

Wed Nov 10 15:24:27 CST 2010

Wed Nov 10 15:25:38 CST 2010

Benchmark

Running for engine myisam

Average number of seconds to run all queries: 70.906 seconds

Minimum number of seconds to run all queries: 70.906 seconds

Maximum number of seconds to run all queries: 70.906 seconds

Number of clients running queries: 100

Average number of queries per client: 10011

 

posted on 2012-08-02 14:18  很多不懂呀。。  阅读(215)  评论(0编辑  收藏  举报

导航