-
基础
-
安装MYSQL
- 按文档基本步骤执行
- 复制bin
- 复制man
- 启动mysqld后执行mysqld_secure_install
- .my.cnf
-
导出mysql.user数据
- select into outfile
- information_schema.columns
-
简单的管理帐号
-
创建一个空数据库
- create database
-
分配一个账号给这个数据库
- create user
- grant
-
进阶
-
创造一个实际的数据库
-
设置存储引擎
- default-storage-engine=INNODB
-
设置数据位置
- innodb_data_home_dir
- innodb_log_group_home_dir
-
设定服务器和客户端的字符集
- 客户端的字符集一定要设定,不然导入中文是乱码
- 一旦客户端的字符集和导入时不同,显示居然是乱码。。。
-
原因
- 导入数据时从客户端发出的字符集用client
- 服务器收到后,转成connection
- 服务器给客户端的结果,会转成result
-
mysql db < file
- file太大,按表格分割了
-
tablespaces
- 多个表空间,只有最后一个表空间会增大
- 别用max
-
书写各种查询应用
-
安装perl对应的module
- DBI,很好安装
-
DBD
- mysql/include复制
- perl Makefile.PL的配置
- mysql/lib复制,运行时需要
-
连接mysqld
- DBI->connect
- DBI->disconnect
- perldoc DBI
-
设置log系统
-
输出位置
- log_output=TABLE,FILE
- 只影响general_log和slow_log
- 也就是其他的log输出仍然是文件,不受此设置影响
-
general_log=1
- 连接和sql操作都被记录下来
- 输出目录在data_dir,而不是innodb_data_dir
-
log_slow_queries=slow.log
- 耗时查询会被记录在这里
-
long_query_time=2
- 默认10秒太长了
- 错误和警告log默认都是打开的
-
log_bin
- binlog_format=MIXED
- 修改操作的记录
- 数据库恢复用的
-
中级
- 备份和恢复
- 增强可靠性
- 优化
-
高级
- 存储过程和视图
- table分割