-- 显示表索引
SHOW INDEXES FROM `user`;
-- 显示表结构
DESC `user`;
-- 显示存储引擎
SHOW ENGINES;
-- 生成所有mysqld选项和可配置变量的列表
#mysqld --help --verbose
-- 显示表状态
SHOW TABLE STATUS [LIKE ...];
-- 显示支持的字符集
SHOW CHARACTER SET;
-- 显示字符集的排序
SHOW COLLATION;
-- 显示创建table时候使用的什么语句
SHOW CREATE TABLE courses;
-- 显示创建view的时候使用的什么语句
SHOW CREATE VIEW sct;
-- 查看自己的权限
show grants for 'username'@'host'
-- 查看最近一次自增的ID号
SELECT LAST_INSERT_ID();
-- 全局变量
SHOW GLOBAL VARIABLES LIKE '%log%'
-- 会话变量
SHOW [SESSION] VARIABLES
mysql无法启动,查看mysql日志:
hostname.err: 错误日志
1、此前服务未关闭;
2、数据初始化失败;
3、数据目录位置错误;
4、数据目录权限问题;
MySQL用户密码修改:
1、# mysqladmin -u USERNAME -h HOSTNAME password 'NEW_PASS' -p
2、mysql> SET PASSWORD FOR 'USERNAME'@'HOST'=PASSWORD('new_pass');
3、mysql> UPDATE mysql.user SET PASSWORD=PASSWORD('new_pass') WHERE CONDITION;
存储引擎,也被称为表类型:
MyISAM表: 无事务,表锁
.frm: 表结构定义文件
.MYD: 表数据
.MYI: 索引
InnoDB表:事务,行锁
.frm: 表结构
.ibd: 表空间(数据和索引)
mysql加载配置文件的顺序:
/etc/my.cnf --> /etc/mysql/my.cnf --> $MYSQL_HOME/my.cnf --> --default-extra-file=/path/to/somefile --> ~/.my.cnf
MySQL工具:
客户端:mysql、mysqladmin、mysqldump、mysqlimport、mysqlcheck
服务器:mysqld, mysqld_safe, mysqld_multi
mysql客户端的使用:
mysql>
mysql
--user, -u
--host, -h
--password, -p
--port
--protocol
--database DATABASE, -D
其它选项:
mysql>
交互式模式
批处理模式(脚本模式)
mysql < init.sql
mysql>
命令两类:
客户端命令
服务器语句:有语句结束符,默认;
d: 定义语句结束符
//
客户端命令:
c: 提前终止语句执行
g: 无论语句结束符是什么,直接将此语句送至服务器端执行;
G: 无论语句结束符是什么,直接将此语句送到服务器端执行,而且结果以竖排方式显示;
! COMMAND: 执行shell命令
W: 语句执行结束后显示警告信息;
#: 对新建的对象,支持补全功能;
mysql提示符:
mysql>
->
'>
">
`>
补全:
名称补全
服务器端命令获取帮助:
help KEYWORD
mysqladmin工具的使用:
# mysqladmin [options] command [arg] [command [arg]] ...
# mysqladmin -uroot -p password 'NEW_PASS'
create DATABASE
drop DATABASE
ping
processlist
status
--sleep N:显示频率
--count N: 显示多个状态
extended-status: 显示状态变量
variables: 显示服务器变量
flush-privileges: 让mysqld重读授权表, 等同于reload;
flush-status: 重置大多数的服务器状态变量
flush-logs: 二进制和中继日志滚动
flush-hosts:
refresh: 相当于同时执行flush-hosts和flush-logs
shutdown: 关闭mysql服务器进程
version: 服务器版本及当前状态信息;
start-slave: 启动复制,启动从服务器复制线程;
SQL thread
IO thread
stop-slave: 关闭复制;
MySQL非客户端工具
myisamchk
myisampack
MySQL服务器变量
作用域,分为两类:
全局变量
SHOW GLOBAL VARIABLES
会话变量
SHOW [SESSION] VARIABLES
生效时间,分为两类:
动态:可即时修改
静态:
写在配置文件中
通过参数传递给mysqld
动态调整参数的生效方式:
全局:对当前会话无效,只对新建立会话有效;
会话:即时生效,但只对当前会话有效;
服务器变量:@@变量名
显示:SELECT
设定:SET GLOBAL|SESSION 变量名='value'