MySQL5.6.17數(shù)據(jù)庫(kù)安裝如何配置My.ini文件

最近在做項(xiàng)目開(kāi)發(fā)時(shí)用到了MySQL數(shù)據(jù)庫(kù),在看了一些有關(guān)MySql的文章后,很快就上手使用了。在使用的過(guò)程中還是出現(xiàn)了一些問(wèn)題,因?yàn)槭褂玫氖蔷G色免安裝版的MySql所以在配置的時(shí)候出現(xiàn)了一些問(wèn)題,該篇文章就主要針對(duì)MySql綠色版的配置及其使用進(jìn)行討論。

創(chuàng)新互聯(lián)主要從事網(wǎng)站制作、成都做網(wǎng)站、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)陽(yáng)泉,十多年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來(lái)電咨詢建站服務(wù):13518219792

一、MySql概述

MySql數(shù)據(jù)庫(kù)是有瑞典MySql AB公司開(kāi)發(fā),現(xiàn)在該公司被Oracle收購(gòu)屬于Oracle所有。同SQL Server類似,它也是基于關(guān)系型數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)管理系統(tǒng),在Web應(yīng)用方面MySQL是最好的RDBMS之一,因?yàn)樗鼘儆谳p量級(jí)的RDBMS。

現(xiàn)在MySql的最新版本是5.6.17,最新下載地址:http://dev.mysql.com/downloads/mysql/,下載完成了接下來(lái)進(jìn)行安裝部署了,有關(guān)安裝部署的內(nèi)容在網(wǎng)上查看下教程就可以。

二、MySql配置

既然MySql采用的是SQL為基礎(chǔ),那么他就包含基本的DML、DDL、DAL,這些基本的數(shù)據(jù)庫(kù)語(yǔ)言是很容易上手使用的,另外MySql還封裝了很多數(shù)據(jù)庫(kù)操作命令,這些命令是在dos系統(tǒng)中運(yùn)行的,這是他和SQL Server的不同之處,MySql的環(huán)境是簡(jiǎn)歷在dos系統(tǒng)之上的,要使用dos命令。它和java有點(diǎn)類似,可以說(shuō)它也是建立在虛擬機(jī)之上的,可以實(shí)現(xiàn)一次建立到處使用。想要方便的使用MySql命令還需要一些前提進(jìn)行設(shè)置,設(shè)置方法類似于Java的環(huán)境變量,下面的方法以免安裝版本的MySql為例演示它的配置方法。

1. MySql環(huán)境配置

將MySql的解壓路徑配置到系統(tǒng)變量中就可以在任何地方使用MySql命令。

Note:這是配置的系統(tǒng)變量,任何使用控制臺(tái)命令的第三方命令都可以添加到系統(tǒng)變量中,系統(tǒng)變量是一個(gè)紐帶作用,在使用命令時(shí)會(huì)優(yōu)先搜索系統(tǒng)變量。

MySQL5.6.17數(shù)據(jù)庫(kù)安裝 如何配置My.ini文件

2、MySql服務(wù)器配置

在配置了系統(tǒng)的環(huán)境變量后就可以使用MySql的bin下提供的所有服務(wù)了,接下來(lái)還需要在系統(tǒng)中安裝MySQL。

2.1 安裝MySql服務(wù)器

打開(kāi)解壓文件目錄,找到后綴名為.ini的文件,復(fù)制一份更名為my.ini,使用下面的內(nèi)容替換原有的內(nèi)容。

[mysqld]
basedir=D:/Program Files (x86)/MySql # 設(shè)置mysql的安裝目錄
datadir=D:/Program Files (x86)/MySql/data # 設(shè)置mysql數(shù)據(jù)庫(kù)的數(shù)據(jù)的存放目錄,必須是data,或者是//xxx/data
*************************分割線*******************
port = 3306
socket = /tmp/mysql.sock
default-character-set=gbk # 設(shè)置mysql服務(wù)器的字符集
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需要設(shè)置為文件解壓后的路徑,在此處筆者將文件放到了D:\Program Files (x86)\MySql下。另外上面的分割線內(nèi)的內(nèi)容是可選的,可以在建立數(shù)據(jù)庫(kù)的時(shí)候重新設(shè)置,建議在創(chuàng)建時(shí)不要添加,因?yàn)闀?huì)有很多不確定因素。

在my.ini 文件中 本人配置的如一下可運(yùn)行選項(xiàng):

# 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"

# 設(shè)置mysql的安裝目錄

datadir="C:/Program Files/Mysql/data"

# 設(shè)置mysql數(shù)據(jù)庫(kù)的數(shù)據(jù)的存放目錄,必須是data,或者是//xxx/data

default-storage-engine=INNODB

# 創(chuàng)建新表時(shí)將使用的默認(rèn)存儲(chǔ)引擎

socket = /tmp/mysql.sock

sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

# SQL模式為strict模式

#default-character-set=utf-8

# 設(shè)置mysql服務(wù)器的字符集

#character-set-server=utf-8

# 服務(wù)端使用的字符集默認(rèn)為8比特編碼的latin1字符集

max_connections=100

# mysql服務(wù)器支持的最大并發(fā)連接數(shù)(用戶數(shù))。但總會(huì)預(yù)留其中的一個(gè)連接給管理員使用超級(jí)權(quán)限登錄,即使連接數(shù)目達(dá)到最大限制。如果設(shè)置得過(guò)小而用戶比較多,會(huì)經(jīng)常出現(xiàn)“Too many connections”錯(cuò)誤。

query_cache_size=0

# 查詢緩存大小,用于緩存SELECT查詢結(jié)果。如果有許多返回相同查詢結(jié)果的SELECT查詢,并且很少改變表,可以設(shè)置query_cache_size大于0,可以極大改善查詢效率。而如果表數(shù)據(jù)頻繁變化,就不要使用這個(gè),會(huì)適得其反

#table_cache=256

# 這個(gè)參數(shù)在5.1.3之后的版本中叫做table_open_cache,用于設(shè)置table高速緩存的數(shù)量。由于每個(gè)客戶端連接都會(huì)至少訪問(wèn)一個(gè)表,因此此參數(shù)的值與 max_connections有關(guān)。當(dāng)某一連接訪問(wèn)一個(gè)表時(shí),MySQL會(huì)檢查當(dāng)前已緩存表的數(shù)量。如果該表已經(jīng)在緩存中打開(kāi),則會(huì)直接訪問(wèn)緩存中的表已加快查詢速度;如果該表未被緩存,則會(huì)將當(dāng)前的表添加進(jìn)緩存并進(jìn)行查詢。在執(zhí)行緩存操作之前,table_cache用于限制緩存表的最大數(shù)目:如果當(dāng)前已經(jīng)緩存的表未達(dá)到table_cache,則會(huì)將新表添加進(jìn)來(lái);若已經(jīng)達(dá)到此值,MySQL將根據(jù)緩存表的最后查詢時(shí)間、查詢率等規(guī)則釋放之前的緩存。

tmp_table_size=34M

# 內(nèi)存中的每個(gè)臨時(shí)表允許的最大大小。如果臨時(shí)表大小超過(guò)該值,臨時(shí)表將自動(dòng)轉(zhuǎn)為基于磁盤的表(Disk Based Table)。

thread_cache_size=8

# 緩存的最大線程數(shù)。當(dāng)客戶端連接斷開(kāi)時(shí),如果客戶端總連接數(shù)小于該值,則處理客戶端任務(wù)的線程放回緩存。在高并發(fā)情況下,如果該值設(shè)置得太小,就會(huì)有很多線程頻繁創(chuàng)建,線程創(chuàng)建的開(kāi)銷會(huì)變大,查詢效率也會(huì)下降。一般來(lái)說(shuō)如果在應(yīng)用端有良好的多線程處理,這個(gè)參數(shù)對(duì)性能不會(huì)有太大的提高。

#------------------------------MyISAM相關(guān)參數(shù) begin------------------------------------------------

myisam_max_sort_file_size=100G

# mysql重建索引時(shí)允許使用的臨時(shí)文件最大大小

myisam_sort_buffer_size=68M

key_buffer_size=54M

# Key Buffer大小,用于緩存MyISAM表的索引塊。決定數(shù)據(jù)庫(kù)索引處理的速度(尤其是索引讀)

read_buffer_size=64K

# 用于對(duì)MyISAM表全表掃描時(shí)使用的緩沖區(qū)大小。針對(duì)每個(gè)線程進(jìn)行分配(前提是進(jìn)行了全表掃描)。進(jìn)行排序查詢時(shí),MySql會(huì)首先掃描一遍該緩沖,以避免磁盤搜索,提高查詢速度,如果需要排序大量數(shù)據(jù),可適當(dāng)調(diào)高該值。但MySql會(huì)為每個(gè)客戶連接發(fā)放該緩沖空間,所以應(yīng)盡量適當(dāng)設(shè)置該值,以避免內(nèi)存開(kāi)銷過(guò)大。

read_rnd_buffer_size=256K

sort_buffer_size=256K

# connection級(jí)參數(shù)(為每個(gè)線程配置),500個(gè)線程將消耗500*256K的sort_buffer_size。

#------------------------------MyISAM相關(guān)參數(shù) end------------------------------------------------

#-------------------------------# InnoDB相關(guān)參數(shù) begin ---------------------------------------

innodb_additional_mem_pool_size=3M

# InnoDB用于存儲(chǔ)元數(shù)據(jù)信息的內(nèi)存池大小,一般不需修改

innodb_flush_log_at_trx_commit =1

# 事務(wù)相關(guān)參數(shù),如果值為1,則InnoDB在每次commit都會(huì)將事務(wù)日志寫(xiě)入磁盤(磁盤IO消耗較大),這樣保證了完全的ACID特性。而如果設(shè)置為0,則表示事務(wù)日志寫(xiě)入內(nèi)存log和內(nèi)存log寫(xiě)入磁盤的頻率都為1次/秒。如果設(shè)為2則表示事務(wù)日志在每次commit都寫(xiě)入內(nèi)存log,但內(nèi)存log寫(xiě)入磁盤的頻率為1次/秒。

innodb_log_buffer_size=2M

# InnoDB日志數(shù)據(jù)緩沖大小,如果緩沖滿了,就會(huì)將緩沖中的日志數(shù)據(jù)寫(xiě)入磁盤(flush)。由于一般至少都1秒鐘會(huì)寫(xiě)一次磁盤,所以沒(méi)必要設(shè)置過(guò)大,即使是長(zhǎng)事務(wù)。

innodb_buffer_pool_size=105M

# InnoDB使用緩沖池來(lái)緩存索引和行數(shù)據(jù)。該值設(shè)置的越大,則磁盤IO越少。一般將該值設(shè)為物理內(nèi)存的80%。

innodb_log_file_size=53M

# 每一個(gè)InnoDB事務(wù)日志的大小。一般設(shè)為innodb_buffer_pool_size的25%到100%

innodb_thread_concurrency=9

# InnoDB內(nèi)核最大并發(fā)線程數(shù)

#-------------------------------# InnoDB相關(guān)參數(shù) end ---------------------------------------

my.ini文件配置好后就可以在cmd中安裝mysqld服務(wù)了,在cmd中運(yùn)行命令:mysqld --install MySQL --defaults-file="D:\Program Files(x86)\MySql\my.ini",其中的MySQL是安裝服務(wù)器的名稱,可以指定任何名稱。安裝完成后會(huì)提示下面的信息:Service successfully installed,即表示成功安裝,安裝成功后會(huì)在系統(tǒng)的服務(wù)組策中添加該服務(wù),在使用時(shí)只需要開(kāi)啟即可。

MySQL5.6.17數(shù)據(jù)庫(kù)安裝 如何配置My.ini文件

Note:在運(yùn)行安裝命令時(shí)一定要注意必須cmd內(nèi)的路徑問(wèn)題,該路徑必須在mysql的bin所在的路徑,比如我的mysql解壓到D:\Program Files(x86)\MySql文件夾中,那么cmd當(dāng)前路徑就必須為D:\Program Files(x86)\MySql\bin,否則在安裝完成后啟動(dòng)服務(wù)時(shí)會(huì)出現(xiàn)發(fā)生錯(cuò)誤提示:系統(tǒng)錯(cuò)誤 2。系統(tǒng)找不到指定的文件。

2.2 啟動(dòng)服務(wù)器

啟動(dòng)MySQL服務(wù)器,在cmd中運(yùn)行命令:net start MySQL。

MySQL5.6.17數(shù)據(jù)庫(kù)安裝 如何配置My.ini文件

2.3 停止服務(wù)器

在使用完成后可以通過(guò)命令來(lái)停止服務(wù)器的運(yùn)行,通過(guò)在cmd中運(yùn)行命令:net stop MySQL,

2.4 查看設(shè)計(jì)服務(wù)器名稱及密碼

剛安裝的服務(wù)器它的默認(rèn)名稱為root,此時(shí)沒(méi)有密碼,可以通過(guò)cmd命令來(lái)設(shè)置名稱和密碼。相應(yīng)的命令為:mysql -u root。另外可通過(guò)在cmd中使用update語(yǔ)句來(lái)修改root的密碼,具體設(shè)置方法如下代碼所示:

1、給root加個(gè)密碼ab12

首先在DOS下進(jìn)入目錄mysql\bin,然后鍵入以下命令: mysqladmin -u root -p password ab12。

Note:因?yàn)殚_(kāi)始時(shí)root沒(méi)有密碼,所以-p舊密碼一項(xiàng)就可以省略了。

2、再將root的密碼改為djg345:mysqladmin -u root -p ab12 password djg345

2.5 刪除服務(wù):mysqld --remove MySQL

使用remove命令,后面跟上要?jiǎng)h除的數(shù)據(jù)庫(kù)服務(wù)的名稱。

三、MySql常用命令

3.1 連接服務(wù)

這里介紹兩種連接方法分別為本地連接和遠(yuǎn)程連接。

3.1.1 本地連接

在cmd中輸入并運(yùn)行命令:mysql -u root -p,然后輸入相應(yīng)的密碼。需要注意的是用戶名-u和用戶名之間也可以沒(méi)有空格,即-uroot同樣正確,但是密碼和-p之間必須要有空格。如果是剛安裝好的MYSQL,默認(rèn)的root用戶名是沒(méi)有密碼的,直接輸入mysql -u root就可以進(jìn)入MYSQL中了,MYSQL的提示符為:mysql>。

MySQL5.6.17數(shù)據(jù)庫(kù)安裝 如何配置My.ini文件

3.1.2 遠(yuǎn)程連接

假設(shè)遠(yuǎn)程主機(jī)的IP地址為:219.243.79.8,用戶名為root,密碼為123,則在cmd中運(yùn)行如下命令:mysql -h319.243.79.8 -uroot -p 123。

3.1.3 退出MYSQL命令:exit

3.2 增加新用戶

3.2.1 超級(jí)用戶

增加一個(gè)用戶test1密碼為abc,讓他可以在任何主機(jī)上登錄,并對(duì)所有數(shù)據(jù)庫(kù)有查詢、插入、修改、刪除的權(quán)限。首先用root用戶連入MYSQL,然后鍵入以下命令:

grant select,insert,update,delete on *.* to [email=test1@”%]test1@”%[/email]” Identified by “abc”;

但增加的用戶是十分危險(xiǎn)的,你想如某個(gè)人知道test1的密碼,那么他就可以在internet上的任何一臺(tái)電腦上登錄你的mysql數(shù)據(jù)庫(kù)并對(duì)你的數(shù)據(jù)可以為所欲為了,解決辦法見(jiàn)2。 3.2.2 本機(jī)用戶

增加一個(gè)用戶test2密碼為abc,讓他只可以在localhost上登錄,并可以對(duì)數(shù)據(jù)庫(kù)mydb進(jìn)行查詢、插入、修改、刪除的操作(localhost指本地主機(jī),即MYSQL數(shù)據(jù)庫(kù)所在的那臺(tái)主機(jī)),這樣用戶即使用知道test2的密碼,他也無(wú)法從internet上直接訪問(wèn)數(shù)據(jù)庫(kù),只能通過(guò)MYSQL主機(jī)上的web頁(yè)來(lái)訪問(wèn)了。

grant select,insert,update,delete on mydb.* to [email=test2@localhost]test2@localhost[/email] identified by “abc”;

如果你不想test2有密碼,可以再打一個(gè)命令將密碼消掉。

grant select,insert,update,delete on mydb.* to [email=test2@localhost]test2@localhost[/email] identified by “”;

3.3 show命令

show命令是查看的意思,可以用來(lái)查看MySql中的一些列表信息,如:show databases顯示所有數(shù)據(jù)庫(kù)的名稱;show tables顯示一個(gè)數(shù)據(jù)庫(kù)中的所有表名稱。

3.4 操作數(shù)據(jù)庫(kù)

操作前要進(jìn)入相關(guān)的數(shù)據(jù)庫(kù),可以使用use命令,如:use testdb進(jìn)入名為testdb的數(shù)據(jù)庫(kù),進(jìn)入數(shù)據(jù)庫(kù)后既可以對(duì)數(shù)據(jù)庫(kù)中的對(duì)象操作,相應(yīng)的操作命令使用的是SQL語(yǔ)句,DDL、DML、DAL。

3.4.1 查看數(shù)據(jù)庫(kù)內(nèi)容

1、查看數(shù)據(jù)庫(kù)某個(gè)表的字段信息:desc 表名;

MySQL5.6.17數(shù)據(jù)庫(kù)安裝 如何配置My.ini文件

2、查看數(shù)據(jù)庫(kù)表的創(chuàng)建語(yǔ)句:show create table 表名;當(dāng)然使用同樣的方法也可以查看其它創(chuàng)建內(nèi)容的SQL語(yǔ)句,如查看數(shù)據(jù)庫(kù)的創(chuàng)建語(yǔ)句,show create database 數(shù)據(jù)庫(kù)名。

MySQL5.6.17數(shù)據(jù)庫(kù)安裝 如何配置My.ini文件

3.4.2 修改表中列類型及名稱

(1)只修改列類型

alter table 數(shù)據(jù)庫(kù)名.表名 modify column 列名 數(shù)據(jù)類型,例如:將t_animal表的sex列該為boolean類型:

alter table t_animal modify sex boolean not null
 ?。?)同時(shí)修改列名和列數(shù)據(jù)類型 alter table 表名 change column 舊列名 新列名 數(shù)據(jù)類型,例如:將t_animal表的sex列更名為ani_sex,數(shù)據(jù)類型修改為boolean類型:

alter table t_animal change column sex ani_sex boolean not null
  結(jié)語(yǔ)

本文對(duì)MySql的配置及使用方法做了初步的總結(jié),MySql還有很多內(nèi)容在使用中慢慢積累,并且該文章也會(huì)不定時(shí)的添加新內(nèi)容,主要是針對(duì)開(kāi)發(fā)過(guò)程中的情況而更新。文章的命令筆者都進(jìn)行了測(cè)試,有哪些不對(duì)的地方還請(qǐng)指出互相學(xué)習(xí)。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。

分享標(biāo)題:MySQL5.6.17數(shù)據(jù)庫(kù)安裝如何配置My.ini文件
文章源于:http://bm7419.com/article18/ijhsgp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化網(wǎng)站制作、企業(yè)建站、軟件開(kāi)發(fā)、服務(wù)器托管、微信公眾號(hào)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)