MySQL Linux壓縮版安裝方法(上)
在諸多開源資料庫中,MySQL是目前應用行業,特別是網際網路行業發展最好的一個。藉助靈活的架構特點和適應不同應用系統場景的Storage Engine,MySQL在很多方面已經有不次於傳統商用資料庫的表現。
本篇作為MySQL的開篇,只是從最簡單的安裝著手。所謂萬事開頭難,希望筆者的學習研究過程能夠順利。
1、說說MySQL的版本
首先,我們簡單說說MySQL的版本。在Oracle收購開源資料庫MySQL之後,對MySQL進行了重新部署。目前我們看到的MySQL系統元件和版本,就是Oracle對其進行整合之後的版本。
從發行版本上,目前MySQL最新版本是5.5,每隔一個時期就會有新的子版本發行。根據收費和服務支援情況,MySQL分為社群版Community和企業版Enterprise。社群版是提供完全免費的應用授權,並且完全公佈原始碼。而企業版是收費版本,要向Oracle繳納許可授權費用。所以,目前真正意義的開源資料庫,也只是以Community作為一個代表。
在Community中,根據不同人群使用的要求分為二進位制版、壓縮版和原始碼版。
ü 二進位制釋出版(Binary Distribution)是我們經常使用,也是最容易使用的一個版本。MySQL針對不同的平臺,提供了mis、rpm等安裝檔案格式;
ü 壓縮版(Zip)也可以稱為“綠色版”。提供的壓縮包中,包括了安裝後所有的目錄結構和配置檔案。作為最簡單的應用,只要解壓到目錄上,並且進行一些配置連線就可以了。壓縮版最大的好處是獨立於作業系統,對原有的結構沒有影響;
ü 原始碼版(Source)是針對一些個性化作業系統或者個性化功能需求而言的。需要使用者在指定的平臺作業系統上進行編譯、連結,形成可執行版本;
本篇就簡單介紹一下Linux環境下壓縮版配置的一些問題和解決方法。
2、基本配置
首先,我們準備好Linux環境,我們使用CentOS 5.8進行試驗安裝。第一步,我們需要將下載好的MySQL壓縮版透過FTP/SFTP上傳到Linux伺服器上。
--建立目錄
[root@bspdev ~]# cd /
[root@bspdev /]# mkdir mysql
[root@bspdev /]# ls -l | grep mysql
drwxr-xr-x 2 root root 4096 Jul 1 03:56 mysql
使用FTP/SFTP軟體,將壓縮包(mysql-5.5.25-linux2.6-i686.tar.gz)上傳到指定目錄,並且解壓。
[root@bspdev /]# cd mysql
[root@bspdev mysql]# ls -l
total 175376
-rw-r--r-- 1 root root 179403866 Jul 1 03:57 mysql-5.5.25-linux2.6-i686.tar.gz
[root@bspdev mysql]# tar -vxf mysql-5.5.25-linux2.6-i686.tar.gz
mysql-5.5.25-linux2.6-i686/include/my_config.h
mysql-5.5.25-linux2.6-i686/include/keycache.h
mysql-5.5.25-linux2.6-i686/include/m_string.h
mysql-5.5.25-linux2.6-i686/include/mysql_version.h
mysql-5.5.25-linux2.6-i686/include/my_alloc.h
(篇幅原因,省略……)
[root@bspdev mysql]# ls -l
total 4
drwxr-xr-x 13 root root 4096 Jul 1 04:02 mysql-5.5.25-linux2.6-i686
開啟目錄,可以發現壓縮版解壓之後,所有的配置檔案和執行程式目錄。
[root@bspdev mysql-5.5.25-linux2.6-i686]# ls -l
total 76
drwxr-xr-x 2 root root 4096 Jul 1 04:01 bin
-rw-r--r-- 1 7161 wheel 17987 May 15 15:46 COPYING
drwxr-xr-x 4 root root 4096 Jul 1 04:02 data
drwxr-xr-x 2 root root 4096 Jul 1 04:01 docs
drwxr-xr-x 3 root root 4096 Jul 1 04:00 include
-rw-r--r-- 1 7161 wheel 7604 May 15 15:46 INSTALL-BINARY
drwxr-xr-x 3 root root 4096 Jul 1 04:02 lib
drwxr-xr-x 4 root root 4096 Jul 1 04:00 man
drwxr-xr-x 10 root root 4096 Jul 1 04:02 mysql-test
-rw-r--r-- 1 7161 wheel 2552 May 15 15:46 README
drwxr-xr-x 2 root root 4096 Jul 1 04:01 scripts
drwxr-xr-x 27 root root 4096 Jul 1 04:02 share
drwxr-xr-x 4 root root 4096 Jul 1 04:01 sql-bench
drwxr-xr-x 2 root root 4096 Jul 1 04:01 support-files
[root@bspdev mysql-5.5.25-linux2.6-i686]# pwd
/mysql/mysql-5.5.25-linux2.6-i686
注意,無論是Windows版還是Linux版,MySQL在執行啟動的時候,都需要一個基礎配置檔案。不同的作業系統擴充名稱不一樣,大都是my.ini/my.cnf等等。
在目錄的support-files中,我們可以找到MySQL提供了一套預設模板,用於配置不同規模的MySQL資料庫。
[root@bspdev mysql-5.5.25-linux2.6-i686]# cd support-files/
[root@bspdev support-files]# ls -l
total 96
-rwxr-xr-x 1 7161 wheel 1153 May 15 16:46 binary-configure
-rwxr-xr-x 1 7161 wheel 4528 May 15 16:46 config.huge.ini
-rwxr-xr-x 1 7161 wheel 2382 May 15 16:46 config.medium.ini
-rwxr-xr-x 1 7161 wheel 1626 May 15 16:46 config.small.ini
-rw-r--r-- 1 7161 wheel 773 May 15 15:46 magic
-rw-r--r-- 1 7161 wheel 4691 May 15 16:46 my-huge.cnf
-rw-r--r-- 1 7161 wheel 19759 May 15 16:46 my-innodb-heavy-4G.cnf
-rw-r--r-- 1 7161 wheel 4665 May 15 16:46 my-large.cnf
-rw-r--r-- 1 7161 wheel 4676 May 15 16:46 my-medium.cnf
-rw-r--r-- 1 7161 wheel 2840 May 15 16:46 my-small.cnf
-rwxr-xr-x 1 7161 wheel 1061 May 15 16:46 mysqld_multi.server
-rwxr-xr-x 1 7161 wheel 839 May 15 16:46 mysql-log-rotate
-rwxr-xr-x 1 7161 wheel 10650 May 15 16:46 mysql.server
-rwxr-xr-x 1 7161 wheel 1326 May 15 16:46 ndb-config-2-node.ini
--複製模板到指定目錄指定名稱。
[root@bspdev support-files]# cp my-huge.cnf /etc/my.cnf
標紅的幾個檔案,就是針對不同的系統規模,主要是伺服器記憶體大小來預定義的配置檔案。My-huge.cnf一般是應對伺服器記憶體在1-2G,而且是專門作為MySQL伺服器使用的場景。這點對於目前的生產系統,不是什麼大問題。所以,我們使用這個版作為基礎模板,複製為/etc/my.cnf。
對MySQL配置檔案的目錄,不同的作業系統有不同的預設選擇。對Windows而言,預設是選擇%WINDIR%作為優先搜尋目錄,找尋檔名稱為my.ini的檔案。當然,我們在mysqld的啟動引數defaults-file中,也可以指定該檔案的目錄名稱。
對Linux環境下,我們就將其放在/etc/my.cnf就可以了。
3、使用者和相關配置
在Oracle配置時,我們建立了專門的OS使用者來安裝Oracle。對MySQL,我們也選擇相對應的策略。注意:root使用者一般不會充當專門的應用系統使用者。
[root@bspdev support-files]# groupadd mysql –組group建立
[root@bspdev support-files]# useradd -g mysql mysql –使用者建立
[root@bspdev support-files]# id mysql
uid=500(mysql) gid=500(mysql) groups=500(mysql)
[root@bspdev support-files]# passwd mysql --密碼修改
Changing password for user mysql.
New UNIX password:
BAD PASSWORD: it is too short
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
[root@bspdev support-files]# su – mysql
此外,我們要保證mysql能夠訪問到MySQL系統bin目錄下的程式,要修改環境變數PATH。
[mysql@bspdev ~]$ vi .bash_profile
(篇幅原因,省略部分……)
PATH=$PATH:$HOME/bin
PATH=$PATH:/mysql/mysql-5.5.25-linux2.6-i686/bin
export PATH
~
~
[mysql@bspdev ~]$ su - mysql
Password:
[mysql@bspdev ~]$ env | grep PATH
PATH=/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/mysql/bin:/mysql/mysql-5.5.25-linux2.6-i686/bin
最後,將相應目錄的許可權賦予mysql使用者。
[mysql@bspdev ~]$ su - root
Password:
[root@bspdev ~]# cd /
[root@bspdev /]# chown -R mysql:mysql mysql/
[root@bspdev /]# ls -l | grep mysql
drwxr-xr-x 3 mysql mysql 4096 Jul 1 04:03 mysql
[root@bspdev etc]# pwd
/etc
[root@bspdev etc]# chown mysql:mysql my.cnf
[root@bspdev etc]# ls -l | grep my.cnf
-rw-r--r-- 1 mysql mysql 4691 Jul 1 04:05 my.cnf
4、配置檔案修改
下面,需要對my.cnf做出簡單的修改,使其可以作為啟動檔案。我們必須新增上MySQL程式檔案和資料檔案的目錄,這樣才能夠讓MySQLd伺服器在啟動後可以找到相應的路徑。
[root@bspdev etc]# su - mysql
[mysql@bspdev ~]$ vi /etc/my.cnf
# Example MySQL config file for very large systems.
#
# This is for a large system with memory of 1G-2G where the system runs mainly
# MySQL.
#
# MySQL programs look for option files in a set of
# locations which depend on the deployment platform.
# The MySQL server
[mysqld]
basedir=/mysql/mysql-5.5.25-linux2.6-i686
datadir=/mysql/mysql-5.5.25-linux2.6-i686/data
注意,basedir和datadir是通常需要設定的內容。如果沒有設定,MySQL會根據作業系統的不同,在預設目錄上進行尋找,引起錯誤。
5、初始化資料庫
對Linux版本的壓縮版,我們需要手工的建立資料庫。在Windows版本中,很多時候是不需要進行這個步驟的。建立的方法也比較簡單,就是執行相應的指令碼程式。
--在程式目錄中。
[mysql@bspdev mysql-5.5.25-linux2.6-i686]$ scripts/mysql_install_db
Installing MySQL system tables...
OK
Filling help tables...
OK
To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:
/mysql/mysql-5.5.25-linux2.6-i686/bin/mysqladmin -u root password 'new-password'
/mysql/mysql-5.5.25-linux2.6-i686/bin/mysqladmin -u root -h bspdev.localdomain password 'new-password'
Alternatively you can run:
/mysql/mysql-5.5.25-linux2.6-i686/bin/mysql_secure_installation
which will also give you the option of removing the test
databases and anonymous user created by default. This is
strongly recommended for production servers.
See the manual for more instructions.
You can start the MySQL daemon with:
cd /mysql/mysql-5.5.25-linux2.6-i686 ; /mysql/mysql-5.5.25-linux2.6-i686/bin/mysqld_safe &
You can test the MySQL daemon with mysql-test-run.pl
cd /mysql/mysql-5.5.25-linux2.6-i686/mysql-test ; perl mysql-test-run.pl
Please report any problems with the /mysql/mysql-5.5.25-linux2.6-i686/scripts/mysqlbug script!
從輸出資訊,我們可以看到MySQL提供了一些資訊,作為下面工作的參考。
6、啟動/關閉測試
到此,主要的安裝步驟已經完成,我們進行初步的啟動伺服器試驗。
[mysql@bspdev mysql-5.5.25-linux2.6-i686]$ mysqld &
[1] 28398
[mysql@bspdev mysql-5.5.25-linux2.6-i686]$ 120701 4:21:42 [Warning] Changed limits: max_open_files: 1024 max_connections: 151 table_cache: 431
120701 4:21:42 [Note] Plugin 'FEDERATED' is disabled.
120701 4:21:42 InnoDB: The InnoDB memory heap is disabled
120701 4:21:42 InnoDB: Mutexes and rw_locks use InnoDB's own implementation
120701 4:21:42 InnoDB: Compressed tables use zlib 1.2.3
120701 4:21:42 InnoDB: Using Linux native AIO
120701 4:21:42 InnoDB: Initializing buffer pool, size = 128.0M
120701 4:21:42 InnoDB: Completed initialization of buffer pool
InnoDB: The first specified data file ./ibdata1 did not exist:
InnoDB: a new database to be created!
120701 4:21:42 InnoDB: Setting file ./ibdata1 size to 10 MB
InnoDB: Database physically writes the file full: wait...
120701 4:21:42 InnoDB: Log file ./ib_logfile0 did not exist: new to be created
InnoDB: Setting log file ./ib_logfile0 size to 5 MB
InnoDB: Database physically writes the file full: wait...
120701 4:21:42 InnoDB: Log file ./ib_logfile1 did not exist: new to be created
InnoDB: Setting log file ./ib_logfile1 size to 5 MB
InnoDB: Database physically writes the file full: wait...
InnoDB: Doublewrite buffer not found: creating new
InnoDB: Doublewrite buffer created
InnoDB: 127 rollback segment(s) active.
InnoDB: Creating foreign key constraint system tables
InnoDB: Foreign key constraint system tables created
120701 4:21:43 InnoDB: Waiting for the background threads to start
120701 4:21:44 InnoDB: 1.1.8 started; log sequence number 0
120701 4:21:44 [Note] Server hostname (bind-address): '0.0.0.0'; port: 3306
120701 4:21:44 [Note] - '0.0.0.0' resolves to '0.0.0.0';
120701 4:21:44 [Note] Server socket created on IP: '0.0.0.0'.
120701 4:21:44 [Note] Event Scheduler: Loaded 0 events
120701 4:21:44 [Note] mysqld: ready for connections.
Version: '5.5.25-log' socket: '/tmp/mysql.sock' port: 3306 MySQL Community Server (GPL)
[mysql@bspdev mysql-5.5.25-linux2.6-i686]$
從日誌資訊上看,基本沒有什麼大問題,除了一個warning內容。下面我們嘗試連線使用者。
[mysql@bspdev mysql-5.5.25-linux2.6-i686]$ mysql -u root
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.5.25-log MySQL Community Server (GPL)
Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> show databases; --連線成功,執行命令成功;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
+--------------------+
4 rows in set (0.00 sec)
mysql>
說明MySQL執行狀態正常。下面是使用mysqladmin管理程式進行伺服器狀態查詢和關閉操作。
mysql@bspdev mysql-5.5.25-linux2.6-i686]$ mysqladmin -u root status
Uptime: 66 Threads: 1 Questions: 4 Slow queries: 0 Opens: 33 Flush tables: 1 Open tables: 26 Queries per second avg: 0.060
[mysql@bspdev mysql-5.5.25-linux2.6-i686]$ mysqladmin -u root shutdown
120701 4:23:16 [Note] mysqld: Normal shutdown
120701 4:23:16 [Note] Event Scheduler: Purging the queue. 0 events
120701 4:23:16 InnoDB: Starting shutdown...
120701 4:23:17 InnoDB: Shutdown completed; log sequence number 1595675
120701 4:23:17 [Note] mysqld: Shutdown complete
[1]+ Done mysqld
至此,我們起碼是將Mysql伺服器安裝配置上,並且可以正常的進行訪問。但是,還有一些額外的問題沒有得到徹底解決,比如登入密碼、告警日誌中Warning資訊等。我們留待下篇繼續研究。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/17203031/viewspace-734498/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL Linux壓縮版安裝方法(下)MySqlLinux
- Mac安裝壓縮版MySQL ServerMacMySqlServer
- mysql在linux上cmake安裝方法(自己安裝版)MySqlLinux
- 解壓縮版mysql安裝及注意事項MySql
- MySQL綠色解壓縮版安裝與配置MySql
- centos7安裝mysql5.7解壓縮版CentOSMySql
- MySQL壓縮版教程MySql
- linux 7z壓縮安裝Linux
- MySQL:mysql5.7解壓版安裝與解除安裝MySql
- mysql5.7.x用壓縮包安裝MySql
- Windows下安裝MySQL解壓版WindowsMySql
- mac上安裝unrar和rar解壓縮工具Mac
- Mysql5.6壓縮包安裝到windows&& 解除安裝命令MySqlWindows
- linux上安裝mysqlLinuxMySql
- Linux下常用壓縮格式的壓縮與解壓方法Linux
- mysql5.7.22解壓版安裝教程MySql
- mysql-8.4.0解壓版安裝記錄MySql
- Linux各種壓縮與解壓方法Linux
- Linux下常用壓縮格式的壓縮與解壓方法---轉載Linux
- linux壓縮解壓縮Linux
- AIX 上壓縮與解壓縮AI
- 安裝解壓版mysql(mysql-5.5.24),出錯記錄。MySql
- Linux 編譯安裝、壓縮打包、定時任務Linux編譯
- Windows作業系統安裝MySQL解壓版Windows作業系統MySql
- MySQL5.7.21解壓版安裝詳細教程MySql
- unix和linux下常用壓縮格式的壓縮與解壓方法(轉)Linux
- 如何下載安裝壓縮包
- mysql免安裝版使用方法MySql
- linux壓縮和解壓縮命令Linux
- JS壓縮方法及批量壓縮JS
- .src.rpm檔案解壓縮及MySql的安裝MySql
- Linux上進行並行壓縮Linux並行
- MySql 5.7.14 解壓版安裝步驟詳解MySql
- 高版本mysql8.0解壓版安裝步驟MySql
- linux下壓縮解壓縮命令Linux
- linux壓縮和解壓縮命令整理Linux
- Linux壓縮及解壓縮命令Linux
- linux壓縮和解壓縮命令大全Linux