乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      MySQL 安裝與配置...

       昵稱90415 2009-02-25
      MySQL 安裝與配置
       
      作者:tyc00n  出處:bbs.chinaunix.net  更新時間: 2007年05月24日 

      在學(xué)習(xí)MySQL過程中,遇到了很多的麻煩,為了讓初學(xué)者不再遇到相同的問題,所以我花了點時間寫了本文。本人也是一個新手,還望多多指教??!
      在安裝MySQL之前,先來了解一下相關(guān)的配置文件

      MySQL配置文件
      MySQL發(fā)布的最新產(chǎn)品實際上超出了Red Hat Enterprise Linux所攜帶的版本。但是,穩(wěn)定性和開放源代碼可是很重要的因素,因此在操作系統(tǒng)上使用較早MySQL版本是有道理的。
      有許多可以采用的配置文件,它們都被包含在mysql-server PRM程序中。還有一個默認(rèn)的配置文件被包含在mysql PRM程序包中。
      配置MySQL服務(wù)器是一個豐富而復(fù)雜的工作。在本文中,我只能膚淺的說一下各種選項??梢允褂玫腗ySQL配置文件共有5個。最后4個位于/usr/share/doc/mysql-server-*/目錄中。
      ·/etc/my.cnf是默認(rèn)的MySQL配置文件。應(yīng)該對這個文件配置修改。它是為學(xué)習(xí)目的而設(shè)計的。
      ·my-small.cnf是為了小型數(shù)據(jù)庫而設(shè)計的。不應(yīng)該把這個模型用于含有一些常用項目的數(shù)據(jù)庫。
      ·my-medium.cnf是為中等規(guī)模的數(shù)據(jù)庫而設(shè)計的。如果你正在企業(yè)中使用RHEL,可能會比這個操作系統(tǒng)的最小RAM需求(256MB)明顯多得多的物理內(nèi)存。由此可見,如果有那么多RAM內(nèi)存可以使用,自然可以在同一臺機器上運行其它服務(wù)。
      ·my-large.cnf是為專用于一個SQL數(shù)據(jù)庫的計算機而設(shè)計的。由于它可以為該數(shù)據(jù)庫使用多達(dá)512MB的內(nèi)存,所以在這種類型的系統(tǒng)上將需要至少1GB的RAM,以便它能夠同時處理操作系統(tǒng)與數(shù)據(jù)庫應(yīng)用程序。
      ·my-huge.cnf是為企業(yè)中的數(shù)據(jù)庫而設(shè)計的。這樣的數(shù)據(jù)庫要求專用服務(wù)器和1GB或1GB以上的RAM。
      這些選擇高度依賴于內(nèi)存的數(shù)量、計算機的運算速度、數(shù)據(jù)庫的細(xì)節(jié)大小、訪問數(shù)據(jù)庫的用戶數(shù)量以及在數(shù)據(jù)庫中裝入并訪問數(shù)據(jù)的用戶數(shù)量。隨著數(shù)據(jù)庫和用戶的不斷增加,數(shù)據(jù)庫的性能可能會發(fā)生變化。
      我將逐個的說明這些配置文件。如果用戶決定使用my-*.cnf文件之一,將首先需要把這個文件復(fù)制到/etc/my.cnf文件上。
      由于這些原因,用戶應(yīng)該仔細(xì)觀察數(shù)據(jù)庫系統(tǒng)的性能。如果發(fā)現(xiàn)問題,可能需要增加更多的RAM,或者把數(shù)據(jù)庫遷移到一個含有附加資源(比如多個CPU)的系統(tǒng)上。
      提示:數(shù)據(jù)庫變得非常大。把一個SQL數(shù)據(jù)庫目錄配置在一個專用分區(qū)上可能更有道理。雖然一個不斷增長的數(shù)據(jù)庫可能會占滿整個分區(qū),但它至少不會吞掉RHEL運行所必需的磁盤空間。
      /etc/my.cnf文件
      默認(rèn)是/etc/my.cnf文件。它包含6條命令,并且這6條命令被組織在3個配置段中。這些配置段與Samba配置文件中的配置段相似,并且含有功能組名稱和相關(guān)的命令。本文將逐行的說明這個文件的默認(rèn)版本。如果用戶進(jìn)行了任何修改,將需要確保MySQL啟動腳本(即/etc/rc.d/init.d/mysqld)中的命令一致。
      [mysqld]
      在這個配置段之內(nèi),將會看到與MySQL守護(hù)進(jìn)程相關(guān)的命令。
      datadir=/var/lib/mysql
      MySQL服務(wù)器把數(shù)據(jù)庫存儲在由datadir變量所定義的目錄中。
      Socket=/var/lib/mysql/mysql.sock
      MySQL套接字把數(shù)據(jù)庫程序局部的或通過網(wǎng)絡(luò)連接到MySQL客戶。

      提示:MySQL被配置成使用InnoDB存儲器引擎。如果用戶在自己的系統(tǒng)上還沒有一個InnoDB數(shù)據(jù)庫,將需要給[mysqld]配置段添加skip-innodb語句。
      [mysql.server]
      在這個配置段之內(nèi),將會看到MySQL服務(wù)器守護(hù)進(jìn)程有關(guān)的命令。這個配置段的較早期版本被命名為[mysql_server]。如果使用MySQL4.X或MySQL4.X以上版本,將必須把這個配置段標(biāo)題改成[mysql_server]。當(dāng)啟動MySQL服務(wù)時,它使用這個配置段中的選項。
      user=mysql
      與MySQL服務(wù)相關(guān)聯(lián)的標(biāo)準(zhǔn)用戶名是mysql。它應(yīng)該是/etc/passwd文件的一部分;如果在這個文件中沒有發(fā)現(xiàn)它,用戶可能還沒有安裝Red Hat Enterprise Linux mysql-server RPM程序包。
      basedir=/var/lib
      這表示MySQL數(shù)據(jù)庫的頂級目錄。它充當(dāng)MySQL系統(tǒng)上的一個根目錄;這個數(shù)據(jù)庫中的其它目錄都是相對于這個目錄。
      [safe_mysqld]
      這個配置段包含MySQL啟動腳本所引用的命令。如果使用MySQL4.X或4.X以上版本,必須把這個配置段改成[mysqld_safe]。
      err-log=/var/log/mysqld.log
      這是MySQL所關(guān)聯(lián)的錯誤被發(fā)送到的這個文件。如果使用MySQL4.X或4.X以上版本,必須使用log-error指令替換這條命令。
      pid-file=/var/run/mysqld/mysqld.pid
      最后,pid-file指令定義MySQL服務(wù)器在運作期間的進(jìn)程標(biāo)識符(PID)。如果MySQL服務(wù)器當(dāng)前沒有運行,這個文件應(yīng)該不存在。
      提示:用戶可以配置與用戶特定相關(guān)的MySQL配置文件;為此,只需給指定用戶主目錄中的.my.cnf隱含文件添加所選的配置命令即可。
      my-samll-cnf
      在本文中,將說明my-small-cnf配置文本中的所有命令。當(dāng)回顧其它MySQL樣本配置文件時,將參考本文所解釋的各條命令和指令的含義。先從下面這個配置段開始分析該文件中的有效命令和指令:
      [client]
      這個配置把指令傳遞給與MySQL服務(wù)器相關(guān)的客戶。
      port=3306
      MySQL所相關(guān)的標(biāo)準(zhǔn)TCP/IP端口是3306。如果需要修改這個端口號(可以增強安全),必須確保用于MySQL客戶與服務(wù)器的所有相應(yīng)配置文件中均修改這個號。
      socket=/var/lib/mysql/mysql.sock
      正像默認(rèn)的/etc/my.cnf文件中所定義的那樣,這是控制MySQL客戶與服務(wù)器間通信的標(biāo)準(zhǔn)套接字文件。
      [mysqld]
      當(dāng)啟動MySQL服務(wù)器時,它由[mysqld]配置段中所定義的命令來控制。
      port=3306
      socket=/var/lib/mysql/mysql.sock
      當(dāng)然,與同一個MySQL數(shù)據(jù)庫相關(guān)的客戶與服務(wù)器需要使用相同的TCP/IP端口和套接字。
      skip-locking
      多個客戶可能會訪問同一個數(shù)據(jù)庫,因此這防止外部客戶鎖定MySQL服務(wù)器。這個skip-locking命令是MySQL4.X或4.X以上版本中的skip-external-locking命令。
      一般來說,如果正在使用MySQL4.X或4.X上以版本,這個set-variable指令沒有必要帶有這個列表中的這些命令。
      set-variable=key_buffer=16k
      這個緩沖區(qū)確實很?。蝗绻粋€數(shù)據(jù)庫在一個文本文件中包含不止幾百行數(shù)據(jù),它將會超載這個緩沖區(qū)的容量。這個數(shù)據(jù)庫可能不會超載一個文本文件地址簿的容量。如果這不只是一個供個人使用的數(shù)據(jù)庫,這個限額很快就會被達(dá)到。假使那樣的話,可能需要考慮與其它配置文件之一相關(guān)的那些限額。
      set-variable=max_allowed_packet=1M
      當(dāng)然,與一個數(shù)據(jù)庫相關(guān)的信息會增加到超出實際數(shù)據(jù)。在默認(rèn)的情況下,如果該信息在一個服務(wù)器上超過1MB以上,MySQL將會產(chǎn)生一條錯誤信息。
      set-variable=thread_stack=64k
      這條指令限定用于每個數(shù)據(jù)庫線程的棧大小。默認(rèn)設(shè)置足以滿足大多數(shù)應(yīng)用。
      set-variable=table_cache=4
      用戶可以限定一個數(shù)據(jù)庫中打開表的數(shù)量;越小的限額(默認(rèn)值是64)適合越小規(guī)模的數(shù)據(jù)庫。
      set-variable=sort_buffer=64k
      在處理一個數(shù)據(jù)庫時,用戶可能需要內(nèi)存中附加的緩沖區(qū)空間。
      set-variable=net_buffer_length=2k
      正如net_buffer_length指令所定義的,MySQL服務(wù)器還給傳入的請求保留了空間。
      server-id=1
      一般來說,如果有一個MySQL主服務(wù)器,應(yīng)該把它的server-id設(shè)置成1;應(yīng)該把MySQL從屬服務(wù)器的server-id設(shè)置成2;
      [mysqldump]
      用戶可以在不同類型的SQL數(shù)據(jù)庫之間傳輸數(shù)據(jù),這由[mysqldump]配置段中的命令來控制。
      quick
      quick選項支持較大數(shù)據(jù)庫的轉(zhuǎn)儲。
      set-variable=max_allowed_packet=16M
      當(dāng)然,用來傳輸數(shù)據(jù)庫表到其它數(shù)據(jù)庫的max_allowed_packet大于客戶與服務(wù)器之間的簡單通信所使用的信息包。
      [mysql]
      no-auto-rehash
      這個配置段設(shè)置啟動MySQL服務(wù)的條件;在這種情況下,no-auto-rehash確保這個服務(wù)啟動得比較快。
      [isamchk]
      [myisamchk]
      像SQL這樣的關(guān)系數(shù)據(jù)庫用所謂的Indexed Sequential Access Method(索引順序存取方法,簡稱ISAM)來處理。這兩個配置段中的命令是相同的;這些命令與檢查并修復(fù)數(shù)據(jù)庫表的同名命令有關(guān)。
      set-variable=key_buffer=8M
      set-variable=sort_buffer=8M
      在前面談及MySQL服務(wù)器時,用戶己經(jīng)見過這些變量。它們在這里都比較大,以便支持?jǐn)?shù)據(jù)庫的較快速檢查與修復(fù)。
      [mysqlhotcopy]
      interactive-timeout
      正如[mysqlhotcopy]配置段所指定的,在一個數(shù)據(jù)庫復(fù)制操作期間,連接會掛起。在默認(rèn)情況下,interactive-timeout變量把一個數(shù)據(jù)傳輸?shù)淖畲髸r間量設(shè)置為28800秒(8個小時)。

      my-medium.cnf文件
      與中等數(shù)據(jù)庫相關(guān)的MySQL配置文件含有和my-small-cnf配置文件中一樣的有效配置段。在[mysqld]配置段中,下面這些命令支持較大規(guī)模的服務(wù)器數(shù)據(jù)庫:
      set-variable=key_buffer=16M
      set-variable=table_cache=64
      set-variable=sort_buffer=512K
      set-variable=net_buffer_length=8K
      log-bin
      一般來說,這個配置段中的命令支持服務(wù)器上的較大高速緩存與緩沖區(qū)長度。應(yīng)該看到兩條新命令。
      set-variable=myisam_sort_buffer_size=8M
      log-bin
      myisam_sort_buffer_size命令允許MySQL索引數(shù)據(jù)庫,第二條命令支持二進(jìn)制日志記錄方法。
      [isamchk]
      [myisamchk]
      當(dāng)然,這兩個配置段中的緩沖區(qū)比用于數(shù)據(jù)庫傳輸?shù)木彌_區(qū)大,這個文件包含下面這些命令;它們發(fā)送消息到服務(wù)器和接收來自服務(wù)器的消息。
      set-variable=read_buffer=2M
      set-variable=write_buffer=2M

      my-large.cnf文件
      與較大型數(shù)據(jù)庫相關(guān)的MySQL配置文件含有和my-samll-cnf配置文件中一樣的有效配置段。在本文中,將比較my-large-cnf與my-medium-cnf樣本文件中的各條命令。在[mysqld]配置段中,下面這些命令支持較大型的服務(wù)器數(shù)據(jù)庫:
      set-variable=key_buffer=256M
      set-variable=table_cache=256
      set-variable=sort_buffer=1M
      set-variable=myisam_sort_buffer_size=64M
      set-variable=net_buffer_length=8K
      這個配置段中有3條附加的命令。record_buffer命令保存對一個數(shù)據(jù)庫中不同表的掃描結(jié)果。thread_cache命令對多請求有用;空閑線程被高速緩存起來,進(jìn)而允許新的搜索操作采用己有的線程。只要這防止搜索操作啟動新的服務(wù)器進(jìn)程,這就能減輕系統(tǒng)上的負(fù)荷。
      set-variable=record_buffer=1M
      set-variable=thread_cache=8
      set-variable=thread_concurrency=8
      thread_concurrency變量限定同時運行的線程數(shù)量。my-large.cnf樣本文件建議用戶應(yīng)該把這個數(shù)量限定于本計算機上CPU數(shù)量的兩倍;這個特定設(shè)置相當(dāng)于4個CPU。

      my-huge.cnf文件
      my-huge.cnf文件含有和my-large.cnf配置文件中一樣的命令。當(dāng)然,分配給大多數(shù)指令的值比較大并適合較大型的數(shù)據(jù)庫。
      正如ww.mysql.com站點上所描述的,擁有大量數(shù)據(jù)庫的組織,比如:google、Sabre和NASA都采用MySQL。雖然我們猜測這些公司所使用的命令不同于用戶在my-huge.cnf文件中所看到的命令,但這至少讓用戶對MySQL企業(yè)級數(shù)據(jù)庫有一個概念。
      為了方便起見,本文所說的采用Red Hat Enterprise Linux 4.0所攜帶的版本,在終端中輸入以下命令:
      [root@tyc00n ~]#rpm –q mysql
      會得到以下所顯示的內(nèi)容
      mysql-4.1.7-4 RHEL4.1
      這說明了在安裝RHEL的時候,己經(jīng)安裝了MySQL。是不是己經(jīng)安裝了MySQL就可以運行了呢?接著再輸入以下命令:
      [root@tyc00n ~]# service mysqld start
      顯示如下:
      mysqld:unrecognized service
      說明了MySQL服務(wù)器還沒有啟動,還需要安裝MySQL-Server程序包。其版本要與所攜帶的一致。如:MySQL-Server-4.1.7-4.i386.rpm。安裝完成之后,重復(fù)執(zhí)行之前的指令,會得到以下顯示信息。
      初始化MySQL數(shù)據(jù)庫: [確定]
      啟動MySQL:          [確定]

      配置MySQL用戶
      在配置一個MySQL服務(wù)器時,需要配置該服務(wù)器上的用戶。這些用戶獨立于Linux計算機上的用戶和組。首先,需要為MySQL系統(tǒng)添加一個根用戶。令人遺憾的是,需要在命令行上用明文形式添加與根用戶相關(guān)的密碼。
      下面這個命令為MySQL系統(tǒng)創(chuàng)建一個根用戶:
      #mysqladmin –u root password i8oe66q
      當(dāng)然,還需要創(chuàng)建普通用戶來訪問這個MySQL系統(tǒng)。接著,需要使用根賬號登錄到MySQL中,如下所示:
      [root@tyc00n root]#mysql –u root –p 
      Enter password:
      Welcome to the MySQL montor. Command end with; or \g.
      Your MySQL connection id is 7 to server Version:4.1.7

      Type ‘help;’ lr ‘\h’ for help.Type ‘\C’ to clean the buffer.
      Mysql>;

      提示:用戶應(yīng)該在直接登錄到MySQL服務(wù)器中創(chuàng)建MySQL用戶。除非使用一個SSH這樣的安全協(xié)議,否則密碼將用明文形式傳遞。此外,由于MySQL密碼直接鍵入在命令行上,所以在創(chuàng)建MySQL用戶時,避免讓其它人站在旁邊觀看。

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多