mysql两种操作模式:
交互式模式
批处理模式(两种方式)
> mysql<init.sql
> source /root/test.sql
例如:
#vim test.sql
CREATE DATABASE testdb;
CREATE TABLE testdb.testdb(Name VARCHAR(23));
mysql>source /root/test.sql
客户端:mysql、mysqladmin、mysqldump、mysqlimport、mysqlcheck
服务器:mysqld、mysqld_safe、mysqld_multi
mysql>命令两类:
客户端命令:
\d:定义语句结束符; 默认是;
\c:提前终止语句执行
\g:无论语句结束符是什么,直接将此语句送至服务器执行(这个可在忘记结束符是什么的时后使用 select * from testdb\g,觉得没必要,因为敲status可直接看到这些信息)
\G:无论语句结束符是什么,直接将此语句送至服务器端执行,而且结果以竖排方式显示(这个用的比较多,因为很直观,select * from testdb\G)
! COMMAND:执行shell命令
\W:语句执行结束后显示警告信息
\w:语句执行结束后不显示警告信息
服务器端命令:
help KEYWOAD help SELECT
#mysqladmin
create DATABASE
drop DATABASE
ping
processlist
status
–sleep N:显示频率
–count N:显示多个状态
extended-status:显示状态变量
variables:显示服务器变量
flush-privileges=reload
flush-tables 关闭所有已打开的表
flush-threads:重置线程池
flush-status:重置大多数的服务器状态变量
flush-logs:二进制和中继日志滚动
flush-hosts:清除主机的内部信息(例如DNS解析信息,主要例如尝试登录mysql数据库失败到一定次数了,可能无法登录了,可以使用此命令,清除这些记录信息)
kill
refresh=flush-hosts和flush-logs
shutdown 关闭MySQL服务器
start-slave:启动复制,启动从服务器复制进程
SQL thread
IO thread
stop-slave:关闭复制
建议在使用这些命令的时候,vim ~/.my.cnf
[client]
user=’root’
host=’localhost’
password=’redhat’
#chmod 700 ~/.my.cnf
然后再mysqladmin option,否则会提示没有输入密码,不是太方便
开发视角:
数据类型
约束
数据库、表、索引、视图
这篇文章写的不错,更多可直接参考这个文章:
http://blog.163.com/sir_876/blog/static/11705223201061210123570/
解决乱码问题:
#vim /etc/my.cnf
1 | [mysqld] |
1 | show table status like 'tb_name'; |