关系型数据库---MYSQL---系统学习

*爱你&永不变心* 提交于 2020-04-28 12:48:16

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  设定慢查询命令的格式;

              

              

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!