最新消息:

MySQL基础知识(一)

Linux运维 大步 1197浏览 0评论

这里《MySQL基础知识(一)》主要说明mysql的一些安装和配置文件的修改。

SQL (structured query language 即结构化查询语言)。
SQL 语言分为3个部分数据定义语言(data definition language,简称DDL)、数据操作语言(data manipulation language,简称 DML)和数据控制语言(data control language 简称DCL)。

  • DDL语句:数据定义语言主要用于定义数据库、表、视图、索引和触发器等。其中包括CREATE语句、ALTER语句和DROP 语句。CREATE 语句主要用于创建数据库、创建表和创建视图等。ALTER 语句主要用于修改表的定义、修改视图的定义等。
  • DML语句:数据操作语言主要用于插入数据、查询数据、更新数据和删除数据。其中包括INSERT语句、SELECT语句、UPDATE语句和DELETE语句。INSERT语句用于插入数据;SELECT语句用于查询数据;UPDATE语句用于更新数据;DELETE语句用于删除数据。
  • DCL语句:数据控制语言主要用于控制用户的访问权限。其中包括GRANT语句和REMOVE语句。GRANT语句用于给用户增加权限;REMOVE 语句用于收回用户的权限。

windows下用软件包安装mysql时候,会让我们选择服务器类型。下面三种选项:

  • Developer Machine (开发者类型)只占用很少的资源,消耗的内存资源最少。选项主要适用于软件开发者。
  • Server Machine (服务器类型)占用的内存资源稍多一些。主要用于做服务器的机器可以选择该项。
  • Dedicate MYSQL Server Machine(专用数据库服务器)占用所有可用资源,消耗内存最大。专门用来做数据库服务器的机器可以选择该项。

windows安装时,还会让我们选择数据库的用途,有下面三个选项:

  • Multifunctional Database  是多功能数据库,支持所有数据库的操作。能够很好的支持InnoDB存储引擎和MyISAM存储引擎。
  • Transaction Database Only主要用于事务处理。这类数据库能够很好的支持事务处理类型的表。因为innodb存储引擎主要是进行事务处理,所以能够很好的支持InnoDB存储引擎。但是,也支持非事务处理的MyISAM存储引擎,不过效果没有innodb好。
  • Non-Transaction Database Only主要用于非事务性的处理。通常用于监控、应用程序的数据分析等。而且只支持MyISAM存储引擎的非事务处理。

windows下配置mysql系统环境变量
右击【我的电脑】图标,选择【属性】命令。然后在系统属性中选择【高级】|【环境变量】命令,进入环境变量的界面。
在系统变量区域中选择【Path】变量选项,然后单击【编辑】按钮,进入编辑环境变量的对话框。
可以在【变量值】对话框中添加mysql的应用程序目录,已经存在的目录用分号隔开。假设我的mysql目录为C:\mysql\bin,将该目录添加到【变量值】中,然后单击【确定】按钮。
如何确认mysql环境变量配置好了呢?那就是去dos窗口直接输入mysql等命令,如果能执行mysql命令,说明就配置好了。

windows下手动修改mysql配置的方法
windows下的mysql安装目录下有4个文件夹和若干文件。这4个文件夹分别是bin, include, lib 和share。

  • bin文件夹下都是可执行文件,如mysql.exe、mysqld.exe 和mysqladmin.exe等;
  • include文件夹下都是头文件,如decimal.h , errmsg.h 和 mysql.h等;
  • lib文件夹下都是库文件。该文件夹下有两个文件夹,分别是opt和plugin;
  • share文件夹下都是字符集、语言等信息。

很多后缀名为.ini的文件,都是适合不同数据库的配置文件模板。my.ini是我们正在使用的。

  • my.ini 是mysql数据库中使用的配置文件。修改这个文件可以达到更新配置的目的;
  • my-huge.ini是适合超大型数据库的配置文件;
  • my-large.ini是适合大型数据库的配置文件;
  • my-medium.ini是适合中型数据库的配置文件;
  • my-samll.ini是适合小型数据库的配置文件;
  • my-template.ini是配置文件的模板。mysql配置向导将该配置文件中选项写入到my.ini文件中。
  • my-innodb-heavy-4G.ini表示该配置文件只对于innodb存储引擎有效,而且服务器的内存不能小于4GB。

my.ini中的主要内容,修改它就可以更改mysql的配置了。

#MYSQL Server Instance Configuration File
#——————————————————————————————————
#Generated by the MySQL Server Instance Configuration Wizard
#该文件是使用MySQL配置向导后生成的。
#CLIENT SECTION
#--------------------------------------------------------------
#The following options will be read by MySQL client application。
#下面将会是客户端的各个参数的介绍。[client]和[mysql]都是客户端的。
[client]
#password 参数表示用户的登陆密码。用户可以将密码存入该文件,登陆时就可以不用输入密码了。
#password=your_password
#port参数表示MySQL数据库的端口。默认端口是3306.如果读者希望更改mysql的端口,可以直接在下面修改。
port=3306

[mysql]
#default-character-set 参数是客户端的默认字符集。这个字符集是客户端的。现在改参数的值是latin1.
#如果希望其支持中文,可以将该参数设置为gbk或者utf8等。
#------------------------------------------------------
default-character-set=latin1

#下面是服务端各个参数的介绍。[mysqld]表示下面的内容属于服务器端。
#SERVER SECTION
#------------------------------------------------------------
[mysqld]
#port参数表示mysql数据库的段鸥。默认端口是3306.
port=3306
#basedir参数表示mysql的安装路径,此处显示为C:/mysql/
basedir="C:/mysql/"
#datadir参数表示mysql的数据文件存放的位置。
datadir="C:/Data"
#default-character-set参数表示默认的字符集。这个字符集是服务器端的。改变字符集的方法与上面的一样。
default-character-set=latin1
#default-storage-engine参数表示默认的存储引擎。存储引擎表示数据的存储方式,我会在后面补上详细的介绍。
#如果希望改变默认的存储引擎,可以直接在这个后面修改。
default-storage-engine=INNODB
#sql-mode 参数表示SQL模式的参数。通过这个参数,可以设置检验SQL语句的严格程度。
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
#max_connections参数表示允许同时访问mysql服务器的最大连接数。其中一个连接将保留,作为管理员登陆。
#如果希望改变最大连接数,可以在下面修改。
max_connections=100
#query_cache_size参数表示查询时的缓存大小。缓存中可以存储以前的SELECT语句查询过的信息。遇到相同的查询时,可以直接存缓存中取出结果。
query_cache_size=0
#table_cache参数表示所有进程打开表的总数。
table_cache=256
#tmp_table_size参数表示内存中临时表的最大值。
tmp_table_size=9M
#thread_cache_size参数表示保留客户端线程的缓存
thread_cache_size=8
#myisam_max_sort_file_size参数表示mysql重建索引时所允许的最大临时文件的大小。此处的默认值为100G
myisam_max_sort_file_size=100G
#myisam_sort_buffer_size参数表示重建索引时的缓存大小。
myisam_sort_buffer_size=18M
#key_buffer_size参数表示关键词缓冲的大小。该缓冲区一般用来缓冲MyISAM表的索引块。
key_buffer_size=11M
#read_md_buffer_size参数表示将排序号的数据库存入该缓存中。
read_md_buffer_size=256K
#sort_buffer_size参数表示用于排序的缓存的大小。
sort_buffer_size=256K

#下面的参数是InnoDB存储引擎使用的参数。
#***INNODB Specific option***
#innodb_additional_mem_pool_size参数表示附加的内存池。用来存储innodb表的内容
innodb_additional_mem_pool_size=2M
#innodb_flush_log_at_trx_commit参数设置提交日志的时机。
#设置为1,innodb会在每次提交后将事务日志写到磁盘上。
innodb_flush_log_at_trx_commit=1
#innodb_log_buffer_size参数表示用来存储日志数据的缓冲区的大小。
innodb_log_buffer_size=1M
#innodb_buffer_pool_size参数表示缓存的大小。innodb使用一个缓冲池来保存索引和原始数据。
innodb_buffer_pool_size=18M
#innodb_log_file_size参数表示日志文件的大小。
innodb_log_file_size=10M
#innodb_thread_concurrency 参数表示在innodb存储引擎允许的线程最大数。
innodb_thread_concurrency=8

MySQL常用图形管理工具

  • MySQL GUI Tools 是mysql官方听过的图形管理工具
  • phpmyadmin是使用php语言开发的mysql图形管理工具。但是对于大型数据库的备份和恢复不方便。
  • Navicat
  • SQLlog

 

 

转载请注明:大步's Blog » MySQL基础知识(一)

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
SiteMap