mysql 笔记(1)

mysql 学习笔记(1)

本文章不涉及到关于 mysql 开放上的问题,主要记录关于 mysql 出现的问题,以及如何去维护 mysql 数据的日常。

mysql 各类信息的收集

  1. 收集变量信息
1show global variables;
  1. 收集进程信息
1show PROCESSLIST;
  1. 收集错误日志
1show global variables like 'log_error';
  1. 收集慢日志信息
1show global variables like 'slow_querry_log_file';
  1. 收集锁信息,高峰时期运行三次,每次间隔 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;
  1. 收集 mysql 状态信息
1show global status;
2show engine innodb status;
3show engine innodb mutex;

mysql 基础语法

  1. 连接数据库
1mysql -u <用户名> -p
  1. 创建数据库
1CREATE DATABASE <数据库名称>;
  1. 删除数据库
1drop database <数据库名称>;
  1. 选择数据库
1use <数据库名称>;
  1. 创建表
 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;
  1. 删除表
1DROP TABLE <数据表名>;
  1. 插入数据
1INSERT INTO table_name ( field1, field2,...fieldN )
2VALUES
3value1, value2,...valueN );
  1. 更新数据
1UPDATE <数据表名> SET <字段名1>='更新' WHERE <字段名2>=3;
  1. 删除数据
1DELETE FROM <数据表名> WHERE <字段名2>=3;
  1. 查询数据
1select * from <数据表名>;