`
tw_loverr
  • 浏览: 6551 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

MySQL数据库手动安装 配置My.ini文件

 
阅读更多
最近在做项目开发时用到了MySql数据库,在看了一些有关MySql的文章后,很快就上手使用了。在使用的过程中还是出现了一些问题,因为使用的是绿色免安装版的MySql所以在配置的时候出现了一些问题,该篇文章就主要针对MySql绿色版的配置及其使用进行讨论。


一、MySql概述

       MySql数据库是有瑞典MySql AB公司开发,现在该公司被Oracle收购属于Oracle所有。同SQL Server类似,它也是基于关系型数据库的数据库管理系统,在Web应用方面MySQL是最好的RDBMS之一,因为它属于轻量级的RDBMS。
       现在MySql的最新版本是5.6.17,最新下载地址:http://dev.mysql.com/downloads/mysql/,下载完成了接下来进行安装部署了,有关安装部署的内容在网上查看下教程就可以。

二、MySql配置



        既然MySql采用的是SQL为基础,那么他就包含基本的DML、DDL、DAL,这些基本的数据库语言是很容易上手使用的,另外MySql还封装了很多数据库操作命令,这些命令是在dos系统中运行的,这是他和SQL Server的不同之处,MySql的环境是简历在dos系统之上的,要使用dos命令。它和java有点类似,可以说它也是建立在虚拟机之上的,可以实现一次建立到处使用。想要方便的使用MySql命令还需要一些前提进行设置,设置方法类似于Java的环境变量,下面的方法以免安装版本的MySql为例演示它的配置方法。

   1. MySql环境配置


        将MySql的解压路径配置到系统变量中就可以在任何地方使用MySql命令。
        Note:这是配置的系统变量,任何使用控制台命令的第三方命令都可以添加到系统变量中,系统变量是一个纽带作用,在使用命令时会优先搜索系统变量。
                                                                               


  2、MySql服务器配置

      在配置了系统的环境变量后就可以使用MySql的bin下提供的所有服务了,接下来还需要在系统中安装MySQL。

    2.1 安装MySql服务器

       打开解压文件目录,找到后缀名为.ini的文件,复制一份更名为my.ini,使用下面的内容替换原有的内容。
[plain] view plaincopy

[mysqld] 
basedir=D:/Program Files (x86)/MySql     # 设置mysql的安装目录 
datadir=D:/Program Files (x86)/MySql/data    # 设置mysql数据库的数据的存放目录,必须是data,或者是//xxx/data 
 
*************************分割线******************* 
port = 3306 
socket = /tmp/mysql.sock 
default-character-set=gbk   # 设置mysql服务器的字符集 
skip-locking 
key_buffer = 16K 
max_allowed_packet = 1M 
table_cache = 4 
sort_buffer_size = 64K 
read_buffer_size = 256K 
read_rnd_buffer_size = 256K 
net_buffer_length = 2K 
thread_stack = 64K 
 
[client]  
#password = your_password 
port = 3306 
socket = /tmp/mysql.sock 
default-character-set=gbk  
*************************分割线******************* 

       Note:[mysqld]下面的basedir和datadir需要设置为文件解压后的路径,在此处笔者将文件放到了D:\Program Files (x86)\MySql下。另外上面的分割线内的内容是可选的,可以在建立数据库的时候重新设置,建议在创建时不要添加,因为会有很多不确定因素。


在my.ini 文件中 本人配置的如一下可运行选项:

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.


[client]
#password = your_password
port = 3306
socket  = /tmp/mysql.sock
default-character-set=utf-8

[mysqld]
port = 3306
basedir="C:/Program Files/Mysql"
# 设置mysql的安装目录
datadir="C:/Program Files/Mysql/data"
# 设置mysql数据库的数据的存放目录,必须是data,或者是//xxx/data
default-storage-engine=INNODB
# 创建新表时将使用的默认存储引擎

socket = /tmp/mysql.sock

sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
# SQL模式为strict模式

#default-character-set=utf-8
# 设置mysql服务器的字符集 

#character-set-server=utf-8
# 服务端使用的字符集默认为8比特编码的latin1字符集

max_connections=100
# mysql服务器支持的最大并发连接数(用户数)。但总会预留其中的一个连接给管理员使用超级权限登录,即使连接数目达到最大限制。如果设置得过小而用户比较多,会经常出现“Too many connections”错误。

query_cache_size=0
# 查询缓存大小,用于缓存SELECT查询结果。如果有许多返回相同查询结果的SELECT查询,并且很少改变表,可以设置query_cache_size大于0,可以极大改善查询效率。而如果表数据频繁变化,就不要使用这个,会适得其反

#table_cache=256
# 这个参数在5.1.3之后的版本中叫做table_open_cache,用于设置table高速缓存的数量。由于每个客户端连接都会至少访问一个表,因此此参数的值与       max_connections有关。当某一连接访问一个表时,MySQL会检查当前已缓存表的数量。如果该表已经在缓存中打开,则会直接访问缓存中的表已加快查询速度;如果该表未被缓存,则会将当前的表添加进缓存并进行查询。在执行缓存操作之前,table_cache用于限制缓存表的最大数目:如果当前已经缓存的表未达到table_cache,则会将新表添加进来;若已经达到此值,MySQL将根据缓存表的最后查询时间、查询率等规则释放之前的缓存。

tmp_table_size=34M
# 内存中的每个临时表允许的最大大小。如果临时表大小超过该值,临时表将自动转为基于磁盘的表(Disk Based Table)。

thread_cache_size=8
# 缓存的最大线程数。当客户端连接断开时,如果客户端总连接数小于该值,则处理客户端任务的线程放回缓存。在高并发情况下,如果该值设置得太小,就会有很多线程频繁创建,线程创建的开销会变大,查询效率也会下降。一般来说如果在应用端有良好的多线程处理,这个参数对性能不会有太大的提高。




#------------------------------MyISAM相关参数    begin------------------------------------------------
myisam_max_sort_file_size=100G
# mysql重建索引时允许使用的临时文件最大大小

myisam_sort_buffer_size=68M

key_buffer_size=54M
# Key Buffer大小,用于缓存MyISAM表的索引块。决定数据库索引处理的速度(尤其是索引读)

read_buffer_size=64K
# 用于对MyISAM表全表扫描时使用的缓冲区大小。针对每个线程进行分配(前提是进行了全表扫描)。进行排序查询时,MySql会首先扫描一遍该缓冲,以避免磁盘搜索,提高查询速度,如果需要排序大量数据,可适当调高该值。但MySql会为每个客户连接发放该缓冲空间,所以应尽量适当设置该值,以避免内存开销过大。

read_rnd_buffer_size=256K

sort_buffer_size=256K
# connection级参数(为每个线程配置),500个线程将消耗500*256K的sort_buffer_size。




#------------------------------MyISAM相关参数    end------------------------------------------------



#-------------------------------# InnoDB相关参数  begin ---------------------------------------

innodb_additional_mem_pool_size=3M
# InnoDB用于存储元数据信息的内存池大小,一般不需修改

innodb_flush_log_at_trx_commit =1
# 事务相关参数,如果值为1,则InnoDB在每次commit都会将事务日志写入磁盘(磁盘IO消耗较大),这样保证了完全的ACID特性。而如果设置为0,则表示事务日志写入内存log和内存log写入磁盘的频率都为1次/秒。如果设为2则表示事务日志在每次commit都写入内存log,但内存log写入磁盘的频率为1次/秒。

innodb_log_buffer_size=2M
# InnoDB日志数据缓冲大小,如果缓冲满了,就会将缓冲中的日志数据写入磁盘(flush)。由于一般至少都1秒钟会写一次磁盘,所以没必要设置过大,即使是长事务。

innodb_buffer_pool_size=105M
# InnoDB使用缓冲池来缓存索引和行数据。该值设置的越大,则磁盘IO越少。一般将该值设为物理内存的80%。

innodb_log_file_size=53M
# 每一个InnoDB事务日志的大小。一般设为innodb_buffer_pool_size的25%到100%


innodb_thread_concurrency=9
# InnoDB内核最大并发线程数
#-------------------------------# InnoDB相关参数  end ---------------------------------------








       my.ini文件配置好后就可以在cmd中安装mysqld服务了,在cmd中运行命令:mysqld --install MySQL --defaults-file="D:\Program Files(x86)\MySql\my.ini",其中的MySQL是安装服务器的名称,可以指定任何名称。安装完成后会提示下面的信息:Service successfully installed,即表示成功安装,安装成功后会在系统的服务组策中添加该服务,在使用时只需要开启即可。
                                            
        Note:在运行安装命令时一定要注意必须cmd内的路径问题,该路径必须在mysql的bin所在的路径,比如我的mysql解压到D:\Program Files(x86)\MySql文件夹中,那么cmd当前路径就必须为D:\Program Files(x86)\MySql\bin,否则在安装完成后启动服务时会出现发生错误提示:系统错误 2。系统找不到指定的文件。

    2.2 启动服务器

        启动MySQL服务器,在cmd中运行命令:net start MySQL。
                                                  


   2.3 停止服务器

        在使用完成后可以通过命令来停止服务器的运行,通过在cmd中运行命令:net stop MySQL,
   2.4 查看设计服务器名称及密码

         刚安装的服务器它的默认名称为root,此时没有密码,可以通过cmd命令来设置名称和密码。相应的命令为:mysql -u root。另外可通过在cmd中使用update语句来修改root的密码,具体设置方法如下代码所示:
      1、给root加个密码ab12

         首先在DOS下进入目录mysql\bin,然后键入以下命令: mysqladmin -u root -p password ab12 。
                                 

         Note:因为开始时root没有密码,所以-p旧密码一项就可以省略了。

       2、再将root的密码改为djg345:mysqladmin -u root -p ab12 password djg345


    2.5 删除服务:mysqld --remove MySQL

          使用remove命令,后面跟上要删除的数据库服务的名称。

三、MySql常用命令

       
  3.1 连接服务

       这里介绍两种连接方法分别为本地连接和远程连接。
   3.1.1 本地连接

       在cmd中输入并运行命令:mysql -u root -p,然后输入相应的密码。需要注意的是用户名-u和用户名之间也可以没有空格,即-uroot同样正确,但是密码和-p之间必须要有空格。如果是刚安装好的MYSQL,默认的root用户名是没有密码的,直接输入mysql -u root就可以进入MYSQL中了,MYSQL的提示符为:mysql>。

                   
   3.1.2 远程连接

        假设远程主机的IP地址为:219.243.79.8,用户名为root,密码为123,则在cmd中运行如下命令:mysql -h219.243.79.8 -uroot -p 123。

   3.1.3 退出MYSQL命令:exit


  3.2 增加新用户


     3.2.1 超级用户

       增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用root用户连入MYSQL,然后键入以下命令:
                  grant select,insert,update,delete on *.* to [email=test1@”%]test1@”%[/email]” Identified by “abc”;
       但增加的用户是十分危险的,你想如某个人知道test1的密码,那么他就可以在internet上的任何一台电脑上登录你的mysql数据库并对你的数据可以为所欲为了,解决办法见2。
    3.2.2 本机用户

       增加一个用户test2密码为abc,让他只可以在localhost上登录,并可以对数据库mydb进行查询、插入、修改、删除的操作(localhost指本地主机,即MYSQL数据库所在的那台主机),这样用户即使用知道test2的密码,他也无法从internet上直接访问数据库,只能通过MYSQL主机上的web页来访问了。
              grant select,insert,update,delete on mydb.* to [email=test2@localhost]test2@localhost[/email] identified by “abc”;
      如果你不想test2有密码,可以再打一个命令将密码消掉。
             grant select,insert,update,delete on mydb.* to [email=test2@localhost]test2@localhost[/email] identified by “”;

  3.3 show命令


        show命令是查看的意思,可以用来查看MySql中的一些列表信息,如:show databases显示所有数据库的名称;show tables显示一个数据库中的所有表名称。

  3.4 操作数据库


       操作前要进入相关的数据库,可以使用use命令,如:use testdb进入名为testdb的数据库,进入数据库后既可以对数据库中的对象操作,相应的操作命令使用的是SQL语句,DDL、DML、DAL。
    3.4.1 查看数据库内容

        1、查看数据库某个表的字段信息:desc 表名;
                                    
       2、查看数据库表的创建语句:show create table 表名;当然使用同样的方法也可以查看其它创建内容的SQL语句,如查看数据库的创建语句,show create database 数据库名。

                             
     3.4.2 修改表中列类型及名称

       (1)只修改列类型
          alter table 数据库名.表名  modify column 列名  数据类型,例如:将t_animal表的sex列该为boolean类型:
[sql] view plaincopy

alter table t_animal modify sex boolean not null 
       (2)同时修改列名和列数据类型
          alter table 表名 change column 旧列名 新列名 数据类型,例如:将t_animal表的sex列更名为ani_sex,数据类型修改为boolean类型:
[sql] view plaincopy

alter table t_animal change column sex ani_sex boolean not null 


结语


      本文对MySql的配置及使用方法做了初步的总结,MySql还有很多内容在使用中慢慢积累,并且该文章也会不定时的添加新内容,主要是针对开发过程中的情况而更新。文章的命令笔者都进行了测试,有哪些不对的地方还请指出互相学习。
分享到:
评论

相关推荐

    mysql-5.7.17-winx64.zip 解压版

    在my.ini文件末尾加上“skip-grant-tables”(取消权限设置)保存文件 或者关闭mysql服务,然后执行mysqld --skip-grant-tables 重启mysql服务 cmd进入mysql下的bin目录,输入mysql,回车,进入mysql 选择mysql数据库...

    Mysql5.7在windows7下my.ini文件加载路径及数据位置修改方法

    更新:现在上MySQL官网装个mysql installer统一对mysql软件管理配置,迁移数据也很方面。进mysql installer里面对mysql server进行reconfigure,就有数据库存储位置的改变。比下面老式的手动迁移要稳当(手动迁移后...

    小白必看!超详细MySQL下载安装教程.docx

    在安装目录下找到my.ini文件(Windows系统)或者my.cnf文件(Linux系统),编辑该文件以配置MySQL。你可以设置MySQL的端口号、字符集、存储引擎等参数。 启动MySQL服务:在安装完成后,MySQL服务会自动启动。你可以...

    windows下安装mysql-8.0.18-winx64的教程(图文详解)

    解压缩之后,需要在安装路径下手动创建data文件夹以及my.ini文件 3、配置my.ini文件 编辑my.ini文件的内容 [mysqld] # 设置3306端口 port=3306 # 设置mysql的安装目录 basedir=C:\Program Files\mysql-8.0.18-winx...

    MySQL安装教程windows64位

    解压后的目录并没有的my.ini文件,没关系可以自行创建在安装根目录下添加的my.ini(新建文本文件,将文件类型改为的.ini),写入基本配置:  [mysqld] # 设置3306端口 port=3306 # 设置mysql的安装目录 basedir=C:...

    Win10下免安装版MySQL8.0.16的安装和配置教程图解

    其中dada文件夹和my.ini配置文件是解压后手动加入的,如下图所示 2、新建配置文件my.ini放在D:\Free\mysql-8.0.16-winx64目录下 [mysql] # 设置mysql客户端默认字符集 default-character-set=utf8 [mysqld] #设置...

    Windows安装多版本MySQL

    工作要求,需要将MySQL...1.将下载好的包解压到你要安装的目录:我这边是C:\mysql8\mysql-8.0.19-winx64,如下图所示:其中my.ini文件和data目录是我手动建立的,原来没有。 其中my.ini的内容如下: 其中basedir,dat

    MySQL8.0.20压缩版本安装教程图文详解

    my.ini文件内容: [mysqld] character-set-server=utf8 bind-address = 0.0.0.0 port = 3306 #配置mysql的解压路径,需要手动更改 basedir=D:\installtools\mysql-8.0.20-winx64 #配置mysql的数据库村塾位置,没有...

    关于mysql 8.0.13zip包安装方法

    还有,要在mysql文件夹里新建个my.ini文件,内容如下图: default-character-set和character-set-server不能写成utf-8,写成UTF8Mb4就好 如果之前设置失败却创建了MYSQL服务, 用管理员身份打开cmd,(其实先直接打开...

    mysql 8.0.13 解压版安装配置方法图文教程

    mysql8版本没有默认的my.ini文件,需要手动创建,该文件建在解压后的根目录下,如:D:\Developer\mysql-8.0.13-winx64 该文件内容如下: [mysqld] # 设置3306端口 port=3306 # 设置mysql的安装目录 basedir=D:\\...

    MySQL安装后不能用是什么情况该如何解决

    我这里只讲几点有关于MySQL数据库安装后遇到的个别问题 我之前安装过MYSQL好像不用手动启动服务,具体也忘记了,但我上回给公司安装的那个是要手动安装服务的,如果mysql刚刚安装不能用,可能是服务没有安装,要好好...

    mysql 8.0.17 winx64(附加navicat)手动配置版安装教程图解

    在mysql文件夹下创建my.ini文件,复制一下内容到文件中; [client] #客户端端口号为3306 port = 3306 socket =/data/3306/mysql.sock # 设置mysql客户端默认字符集 default-character-set=utf8 [mysqld] # 设置3306...

    My SQL 8.0.19 win64 安装

    可以看到,解压后的文件列表中没有.ini文件,因而需要自己手动创建: 在解压后的文件夹中新建名字为my.ini 的文件【此处文件名可以自定义,但必须以 .ini 为后缀】 [mysqld] # 设置3306端口 port=3306 # 设置mysql的...

    mysql二进制日志文件恢复数据库

    二进制日志的文件的作用  mysql二进制日志文件用来记录所有用户对数据库操作,即记录用户对数据库操作的sql语句。如果有此文件,当数据库发生意外时,可以通过此文件查看到...1、 打开mysql安装目录\my.ini(windo

    MySQL5.6.24-win32

    将my.mysql-5.6.24-win32更名为my.ini 打开该文件, 将basedir的路径更改为mysql的根路径 datadir mysql物理路径\data tmpdir mysql物理路径\data socket mysql物理路径\mysql.sock log-error 日志存放路径(若没有...

    解决Mysql 8.0.17 winx64版本安装过程中遇到的问题

    一、手动创建添加my.ini文件 # CLIENT SECTION # ---------------------------------------------------------------------- # # The following options will be read by MySQL client applications. # Note that ...

    mysql安装忘记初始密码简单有效的解决方法

    在安装MySQL的时候会给定一个初始的密码,而这...1.先要确保my.ini文件里面的datadir的那个文件夹(data)不是手动创建的 [client] #设置mysql客户端默认字符集 default-character-set=utf8 [mysqld] #设置端口3306 po

    [推荐]php集成环境绿色版

    4、修改mysql目录下的my.ini文件,修改basedir参数和datadir参数值为新目录 5、修改PHP5目录下的php.ini文件,将里面的对应目录改为新目录。 6、至此已经修改完成。执行setup目录下的install.bat开始安装。 7、...

    Windows系统下MySQL添加到系统服务方法(mysql解压版)

    2、修改MySQL根目录下的my-default.ini文件的内容;主要修改2个属性:basedir和datadir。  basedir:MySQL的根目录;  datadir:数据库数据的保存目录(目录需要手动创建);  需要注意的几点:  目录的斜杠...

    Installanywhere打包javaweb项目

    这里我们先将mysql的my.ini文件进行修改,因为这个文件中有两个属性的值是用户在选择安装目录的时候传进来的,所以要修改,但是,我的文件内容是空的,就直接插入配置文本 我的文本模板是: [client] port=...

Global site tag (gtag.js) - Google Analytics