1. 概述
1.1 目標
搭建測試,生產數據庫參照文檔。
2. 安裝包檢查
2.1 安裝make編譯器
make編譯器下載地址:http://www.gnu.org/software/make/
(系統默認自帶)查看自己的系統是否安裝某個軟件,如果已經有了,就不用在安裝了,但是也有可能之前被卸載了。
如果你之前是使用rpm -ivh make裝的,用
# rpm -qa | grep make肯定是能夠找到的。
如果你是用
make && make install裝的。那么最好直接去找執行程序,就知道有沒裝上去
# find / -name matlab
如果裝了,它會告訴你執行程序被釋放到哪個目錄了。
++++++++++++++++++++++++++++++++++++++++++
# rpm -qa 是查看該軟件是否被安裝,# grep和# find是查看文件位置
++++++++++++++++++++++++++++++++++++++++++
# tar zxvf make-3.82.tar.gz
# cd make-3.82
# ./configure
# make
# make install
或者
[root@testdb1 ~]# rpm -qa |grep make
make-3.81-3.el5
2.2 安裝bison
bison下載地址:http://www.gnu.org/software/bison/
# tar zxvf bison-2.5.tar.gz
# cd bison-2.5
# ./configure
# make
# make install
或者
[root@testdb1 ~]# rpm -qa |grep bison
bison-2.3-2.1
2.3 安裝gcc-c++
gcc-c++下載地址:http://www.gnu.org/software/gcc/
# tar zxvf gcc-c++-4.4.4.tar.gz
# cd gcc-c++-4.4.4
#./configure
# make
# make install
2.4 安裝cmake
cmake下載地址:http://www.cmake.org/
# tar zxvf cmake-2.8.4.tar.gz
# cd cmake-2.8.4
#./configure
# make
# make install
2.5 安裝ncurses
ncurses下載地址:http://www.gnu.org/software/ncurses/
# tar zxvf ncurses-5.8.tar.gz
# cd ncurses-5.8
#./configure
# make
# make install
2.6 備注使用yum全部安裝
yum install gcc gcc-c++
yum install -y ncurses-devel
yum install -y cmake
yum install -y libaio
yum install -y bison
3. 安裝mysql數據庫
3.1 解壓mysql安裝文件
MySQL5.6下載地址:http://dev.mysql.com/
這里我在這里下載的mysql-5.6.12.tar.gz
ftp://mirror.switch.ch/mirror/mysql/Downloads/MySQL-5.6/
准備工作
# groupadd mysql
# useradd mysql -g mysql -M -s /sbin/nologin
#增加一個名為 mysql的用戶。
-g:指定新用戶所屬的用戶組(group)
-M:不建立根目錄
-s:定義其使用的shell,/sbin/nologin代表用戶不能登錄系統。
解壓並安裝MySQL
# tar zxvf mysql-5.6.12.tar.gz
# cd mysql-5.6.12
# cmake ./
# -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ #安裝路徑
# -DMYSQL_DATADIR=/usr/local/mysql/data \ #數據文件存放位置
# -DSYSCONFDIR=/etc \ #my.cnf路徑
# -DWITH_MYISAM_STORAGE_ENGINE=1 \ #支持MyIASM引擎
# -DWITH_INNOBASE_STORAGE_ENGINE=1 \ #支持InnoDB引擎
# -DWITH_MEMORY_STORAGE_ENGINE=1 \ #支持Memory引擎
# -DWITH_READLINE=1 \ #快捷鍵功能(我沒用過)
# -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock \ #連接數據庫socket路徑
# -DMYSQL_TCP_PORT=3306 \ #端口
# -DENABLED_LOCAL_INFILE=1 \ #允許從本地導入數據
# -DWITH_PARTITION_STORAGE_ENGINE=1 \ #安裝支持數據庫分區
# -DEXTRA_CHARSETS=all \ #安裝所有的字符集
# -DDEFAULT_CHARSET=utf8 \ #默認字符
# -DDEFAULT_COLLATION=utf8_general_ci
# make
# make install
編譯腳本執行
time cmake .
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/data \
-DSYSCONFDIR=/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/data/mysqld.sock \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci
或者簡單安裝
# Preconfiguration setup
shell> groupadd mysql
shell> useradd -r -g mysql -s /bin/false mysql
# Beginning of source-build specific instructions
shell> tar zxvf mysql-VERSION.tar.gz
shell> cd mysql-VERSION
shell> cmake .
shell> make
shell> make install
3.2 編譯完成配置mysql服務
# cd /usr/local/mysql
# chown -R mysql:mysql .
# mkdir -p /data/mysql
# chown mysql.mysql -R /data
# chmod 775 -R /data
(#這里最后是有個.的大家要注意# 為了安全安裝完成后請修改權限給root用戶)
# scripts/mysql_install_db --user=mysql (先進行這一步再做如下權限的修改)
scripts/mysql_install_db --user=mysql --datadir=/data/mysql
和配置my.cnf 保持一致
# chown -R root:mysql . (將權限設置給root用戶,並設置給mysql組, 取消其他用戶的讀寫執行權限,僅留給mysql "rx"讀執行權限,其他用戶無任何權限)
# chown -R mysql:mysql ./data (數據庫存放目錄設置成mysql用戶mysql組)
# chmod -R ug+rwx . (賦予讀寫執行權限,其他用戶權限一律刪除僅給mysql用戶權限)
下面的命令是將mysql的配置文件拷貝到/etc
# cp support-files/my-default.cnf /etc/my.cnf
(5.6之前的版本用如下命令)
# cp support-files/my-medium.cnf /etc/my.cnf (5.6之前的版本是此操作,讀者也可在此時自己進入support-files文件夾下面,看是配置文件的真正名稱,那個存在,就拷貝那個。。)
修改my.cnf配置
# vi /etc/my.cnf
#[mysqld] 下面添加:
user=mysql
datadir=/data/mysql
default-storage-engine=MyISAM
備注修改 datadir=/data/mysql 需要在 scripts/mysql_install_db --user=mysql 添加 --datadir=/data/mysql
3.3 啟動mysql
# bin/mysqld_safe --user=mysql & 或者直接進入bin文件夾下面
# cd bin
#./mysqld \ 這里說明,mysqld_safe或者mysqld都可以啟動的
啟動mysql,看是否成功
# ps –ef|grep mysql
root 25152 25119 0 14:43 pts/2 00:00:00 tail -f /data/mysql/testdb1.err
root 25729 1 0 14:50 pts/1 00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/data/mysql --pid-file=/data/mysql/testdb1.pid
mysql 25878 25729 0 14:50 pts/1 00:00:01 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/mysql --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/data/mysql/testdb1.err --pid-file=/data/mysql/testdb1.pid
root 26040 25932 0 15:28 pts/0 00:00:00 grep mysql
# netstat -tnl|grep 3306
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN
上面是一種啟動mysql的方法,還有一種簡單的方便,如下:
將mysql的啟動服務添加到系統服務中
# cp support-files/mysql.server /etc/init.d/mysql
現在可以使用下面的命令啟動mysql
# service mysql start
停止mysql服務
# service mysql stop
重啟mysql服務
# service mysql restart
Shutting down MySQL..[ OK ]
Starting MySQL..[ OK ]
關閉MySQL自動啟動
[root@testdb1 init.d]# chkconfig --list |grep mysql
mysql 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[root@testdb1 init.d]#
[root@testdb1 init.d]#
[root@testdb1 init.d]#
[root@testdb1 init.d]# chkconfig mysql off
[root@testdb1 init.d]# chkconfig --list |grep mysql
mysql 0:off 1:off 2:off 3:off 4:off 5:off 6:off
備注:
命令行方式啟動
[root@testdb1 ~]# cd /usr/local/mysql/bin
[root@testdb1 bin]# ./mysqld_safe &
[1] 3981
[root@testdb1 bin]# 160114 09:25:08 mysqld_safe Logging to '/data/mysql/testdb1.err'.
160114 09:25:08 mysqld_safe Starting mysqld daemon with databases from /data/mysql
關閉數據庫
[root@testdb1 bin]# mysqladmin -uroot shutdown
160114 09:27:38 mysqld_safe mysqld from pid file /data/mysql/testdb1.pid ended
[1]+ Done ./mysqld_safe
3.4 修改root用戶密碼
# chkconfig --add mysql
修改默認root賬戶密碼,默認密碼為空
修改密碼 cd 切換到mysql所在目錄
# cd /usr/local/mysql
# ./bin/mysqladmin -u root password
New password:
Confirm new password:
回車在接下來的提示中設置新密碼即可。。
最后
# service mysql restart; (重啟mysql服務器)
# cd /usr/local/mysql/bin/ (進入mysql basedir下面的bin中)
# ./mysql (開啟客戶端)
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.6.28 Source distribution
Copyright (c) 2000, 2015, 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>
登錄mysql測試
mysql> use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> select host,user from mysql.user;
+-----------+------+
| host | user |
+-----------+------+
| 127.0.0.1 | root |
| ::1 | root |
| localhost | |
| localhost | root |
| testdb1 | |
| testdb1 | root |
+-----------+------+
6 rows in set (0.00 sec)
4. 常見問題
問題1
Starting MySQL..The server quit without updating PID file ([FAILED]/mysql/Server03.mylinux.com.pid).
解決:
修改/etc/my.cnf 中datadir,指向正確的mysql數據庫文件目錄
問題2
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
解決:
新建一個鏈接或在mysql中加入-S參數,直接指出mysql.sock位置。'''
ln -s /usr/local/mysql/data/mysql.sock /tmp/mysql.sock
/usr/local/mysql/bin/mysql -u root -S /usr/local/mysql/data/mysql.sock
問題3
解決:-bash:mysql:command not found
因為mysql命令的路徑在/usr/local/mysql/bin下面,所以你直接使用mysql命令時,
系統在/usr/bin下面查此命令,所以找不到了
解決辦法是:
ln -s /usr/local/mysql/bin/mysql /usr/bin 做個鏈接即可
5. 本地Yum 源配置
5.1 yum 簡介
yum,是Yellow dog Updater, Modified 的簡稱,是杜克大學為了提高RPM 軟件包安裝性而開發的一種軟件包管理器。起初是由yellow dog 這一發行版的開發者Terra Soft 研發,用python 寫成,那時還叫做yup(yellow dog updater),后經杜克大學的Linux@Duke 開發團隊進行改進,遂有此名。yum 的宗旨是自動化地升級,安裝/移除rpm 包,收集rpm 包的相關信息,檢查依賴性並自動提示用戶解決。yum 的關鍵之處是要有可靠的repository,顧名思義,這是軟件的倉庫,它可以是http 或ftp 站點,也可以是本地軟件池,但必須包含rpm 的header,header 包括了rpm 包的各種信息,包括描述,功能,提供的文件,依賴性等。正是收集了這些header 並加以分析,才能自動化地完成余下的任務。
yum 的理念是使用一個中心倉庫(repository)管理一部分甚至一個distribution 的應用程序相互關系,根據計算出來的軟件依賴關系進行相關的升級、安裝、刪除等等操作,減少了Linux 用戶一直頭痛的dependencies 的問題。這一點上,yum 和apt 相同。apt 原為debian 的deb 類型軟件管理所使用,但是現在也能用到RedHat 門下的rpm 了。
yum 主要功能是更方便的添加/刪除/更新RPM 包,自動解決包的倚賴性問題,便於管理大量系統的更新問題。
yum 可以同時配置多個資源庫(Repository),簡潔的配置文件(/etc/yum.conf),自動解決增加或刪除rpm 包時遇到的依賴性問題,保持與RPM 數據庫的一致性。
5.2 yum源配置和光盤掛載
cd /etc/yum.repos.d
掛載本地光盤
mount -o loop /home/OL5.8x86_64dvd.iso /mnt
虛擬機掛着 ISO光盤
mount /dev/cdrom /mnt
修改yum源文件
[root@cafhxdb1 yum.repos.d]# cat my.repo
[c6-media]
name=CentOS-$releasever - Media
baseurl=file:///mnt/cdrom/Server
gpgcheck=0
enabled=1
6. RPM安裝MySQL數據庫
1. 下載MySQL 5.6
下載頁面:http://dev.mysql.com/downloads/mysql/
此處選擇“Red Hat Enterprise Linux 6 / Oracle Linux 6 (x86, 32-bit), RPM Bundle”下載,下載至/root/Downloads/目錄下,下載文件名為“MySQL-5.6.15-1.el6.i686.rpm-bundle.tar”
2. 解壓tar包
cd /root/Downloads/
tar -xvf MySQL-5.6.15-1.el6.i686.rpm-bundle.tar
3. 以RPM方式安裝MySQL
在RHEL系統中,必須先安裝“MySQL-shared-compat-5.6.15-1.el6.i686.rpm”這個兼容包,然后才能安裝server和client,否則安裝時會出錯。
yum install MySQL-shared-compat-5.6.15-1.el6.i686.rpm # RHEL兼容包
yum install MySQL-server-5.6.15-1.el6.i686.rpm # MySQL服務端程序
yum install MySQL-client-5.6.15-1.el6.i686.rpm # MySQL客戶端程序
yum install MySQL-devel-5.6.15-1.el6.i686.rpm # MySQL的庫和頭文件
yum install MySQL-shared-5.6.15-1.el6.i686.rpm # MySQL的共享庫
4. 配置MySQL登錄密碼
cat /root/.mysql_secret # 獲取MySQL安裝時生成的隨機密碼
service mysql start # 啟動MySQL服務
mysql -uroot -p # 進入MySQL,使用之前獲取的隨機密碼
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('password'); # 在MySQL命令行中設置root賬戶的密碼為password
quit # 退出MySQL命令行
service mysql restart # 重新啟動MySQL服務
