mysql 学习笔记(1)
本文章不涉及到关于 mysql 开放上的问题,主要记录关于 mysql 出现的问题,以及如何去维护 mysql 数据的日常。
mysql 各类信息的收集
- 收集变量信息
- 收集进程信息
- 收集错误日志
1
|
show global variables like 'log_error';
|
- 收集慢日志信息
1
|
show global variables like 'slow_querry_log_file';
|
- 收集锁信息,高峰时期运行三次,每次间隔 10s
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
SELECT locked_table,
locked_index,
locked_type,
blocking_pid,
T2.USER blocking_user,
T2.HOST blocking_host,
blocking_lock_mode,
blocking_trx_rows_modified,
waiting_pid,
T3.USER waiting_user,
T3.HOST waiting_host,
waiting_lock_mode,
waiting_trx_row_modified,
wait_age_secs,
waiting_query
FROM sys.x$innodb_lock_waits T1
LEFT JOIN INFROMATION_SCHEMA.processlist T2 ON T1.blocking_pid=T2.ID
LEFT JOIN INFROMATION_SCHEMA.processlist T3 ON T3.ID=T1.waiting_pid;
|
- 收集 mysql 状态信息
1
2
3
|
show global status;
show engine innodb status;
show engine innodb mutex;
|
mysql 基础语法
- 连接数据库
- 创建数据库
1
|
CREATE DATABASE <数据库名称>;
|
- 删除数据库
- 选择数据库
- 创建表
1
2
3
4
5
6
7
8
9
10
11
12
13
|
CREATE table <数据表名> (
<字段名1> <数据类型> [约束条件],
<字段名2> <数据类型> [约束条件],
<字段名3> <数据类型> [约束条件]
)
#例如
CREATE TABLE IF NOT EXISTS `nbtyfood_tbl`(
`nbtyfood_id` INT UNSIGNED AUTO_INCREMENT,
`nbtyfood_title` VARCHAR(100) NOT NULL,
`nbtyfood_author` VARCHAR(40) NOT NULL,
`submission_date` DATE,
PRIMARY KEY ( `nbtyfood_id` )
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
- 删除表
- 插入数据
1
2
3
|
INSERT INTO table_name ( field1, field2,...fieldN )
VALUES
value1, value2,...valueN );
|
- 更新数据
1
|
UPDATE <数据表名> SET <字段名1>='更新' WHERE <字段名2>=3;
|
- 删除数据
1
|
DELETE FROM <数据表名> WHERE <字段名2>=3;
|
- 查询数据