1、概述
1.1 mysql数据库是一种 客户端/服务器体系 的 数据库系统;
服务器部分 在启动运行后没有人机界面,所以终端用户 无法直接使用MySQL;
对MySQL数据库进行访问、操作 只能通过 MySQL客户端程序;
1.2 mysql
mysql不是MySQL数据库服务器,只是供人们用来与MySQL服务器进行通信的一种客户端程序;
mysql用途:
把数据库操作命令发送给MySQL数据库服务器、
把命令执行的结果显示给用户;
1.3 mysqld
MySQL数据库服务器程序;
1.3 mysqladmin
mysqladmin用途:
完成系统管理任务:eg:
创建数据库 mysqladmin -u root -p create 数据库名
删除数据库 mysqladmin -u root -p drop 数据库名
修改密码 mysqladmin -u root -p password 新密码
1.4 mysqldump
mysqldump用途:
为数据库创建备份,把数据库的内容保存为一个文本文件;
1.5 MySQL服务器 启动、停止命令:
Windows:(管理员权限)
启动 net start mysql 关闭 net stop mysql
1.6 MySQL客户端 :
连接命令 mysql -u username -p password
退出 exit
2、MySQL服务器
2.1、配置文件
2.1.1、位置:
Linux环境---/etc/my.cnf
Windows环境--- C:\Programs\MySQL\MySQLServer\my.ini
2.1.2、连字符 "-"、下划线"_"效果相同;
2.1.3、MySQL服务器启动后,MySQL服务器 需要知道 在哪些目录下 找 MySQL工具程序 、数据库文件;
Linux环境:/etc/init.d/脚本
Windows环境:my.ini文件进行配置 basedir---MySQL安装目录 datadir---MySQL数据库文件目录
2.2、通讯设置
2.2.1、MySQL服务器 支持 4种 方式 与 客户端程序通讯
TCP/IP :默认情况、 套接字文件、 命名管道、 共享内存
2.3、数据表 类型
2.3.1、创建表 时,如果不指定 engine,MySQL服务器将使用 default-storage-engine配置的默认数据表类型;
2.4、新数据表 默认字符集、排序方式
2.4.1、可以 为 每一个数据库、数据表、数据列 设定 一个字符集、相应的排序方式;
2.4.2、如果 创建时没有指定,将使用默认的 default-character-set;
2.5、地理时区
2.5.1、默认情况下,MySQL服务器 启动时 自动沿用 服务器 主机所使用的 地理时区;
2.5.2、可以在配置文件中使用 default-time-zone指定 时区;
2.6、出错消息的显示语言
2.6.1、如果想要MySQL 用 指定语言 显示出错信息 ,可以 通过 language 进行设置;
2.7、SQL模式
2.7.1、MySQL服务器 可以 运行 在几种不同的模式下;
2.7.2、模式 通过 sql_mode设定,允许同时 激活 多个 模式,必须用 逗号分隔;
2.7.3、可以通过 SQL命令 改变 sql_mode;
3、数据库备份
3.1、mysqldump
生成 一份 SQL命令清单
3.2、日志
3.2.1、数据库领域,MySQL服务器开启 日志功能后,日志:把数据库里的每一个变化 记载到一个专用的文件里(日志文件);
3.2.2、变更日志:
记载数据库里的变化;
二进制文件形式;
3.2.3、启用 二进制 变更日志
log-bin设定;
MySQL服务器重启后,将在MySQL服务器 的数据 根目录 创建 2个新文件:name-bin.001、name-bin.index;
日志文件名如果没有明确指定,将使用服务器主机的名字,eg:name-bin.001;
3.2.4、二进制 日志文件 可以使用 mysqlbinlog程序来查看
eg:mysqlbinlog name-bin.001 | less
3.2.5、启动新日志文件
MySQL服务器重新启动时,服务器将会把日志写入下个文件;
执行 flush logs也可;
3.2.6、删除日志文件
删除所有 reset master;
3.2.7、为 日志文件 指定目录
log-bin设定
3.2.8、暂时 停用 、重启日志功能
如果不想让MySQL把将要执行的SQL命令 记入日志,提前执行 set sql_log_bin=0;
重启日志功能:set sql_log_bin=1;
3.2.9、出错日志
MySQL 会 自动 把MySQL服务器 每次启动、关闭事件、所有服务器的出错消息 记入 其 数据根目录下 的hostname.err文件中;
flush logs: 把旧出错日志 命名为 hostname.old,并 使用一个新的日志文件;
出错日志无法禁用;
log-error= 设定出错日志的文件名称、存放目录;
3.2.10、登录、操作日志
MySQL 会 将 来自用户的每次连接请求、执行的每个命令 记入 hostname.log文件中;
hostname.log位置:默认在 数据库目录下;
hostname.log作用:监控用户的操作情况;
log= 设定 登录、操作日志的文件名称、存放目录;
3.2.11、慢查询日志
log-slow-queries 开启慢查询日志;
慢查询开启后,MySQL 将 创建一个名为 hostname-slow.log文件 记载 慢查询的信息;
long-query-time= 设定慢查询记录的时间(默认10秒的查询记入慢查询日志);
log_long_format 设定慢查询命令的格式;
来源:oschina
链接:https://my.oschina.net/u/4408750/blog/4109985