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