mysql5安裝方法介紹

===========================================================
mysql:交互式輸入SQL語句或從文件以批處理模式執行它們的命令行工具
mysqladmin:執行管理操作客戶程序,例如創建或刪除數據庫,重載授權表,將表刷新到硬盤上,以及重新打開日誌文件。
mysqlbinlog:從二進制日誌讀取語句的工具。在二進制日誌文件中包含的執行過的語句的日誌可用來幫助從崩潰中恢復。
mysqlcheck:檢查、修復、分析以及優化表的表維護客戶程序
mysqldump:將MySql數據庫轉儲到一個文件的客戶程序。
mysql import:使用LOAD DATA INFILE將文本文件導入相關表的客戶程序。
===========================================================
www.mysql.com 下載
1. rpm 版本
----------    mysql.i386               客戶端
        mysql-bench.i386        負載測試
        mysql-connector-odbc.i386    連接器
        mysql-devel.i386                庫,頭文件
        mysql-server.i386               服務器
        mysql-test.i386            測試
        service mysqld start        啓動服務
        /etc/my.cnf            <- 推薦自己重新編寫
        本地連接 自己既是服務器又是客戶端 只通過 socket 連接
        網絡連接                通過 tcp/ip 端口連接
        使用端口                3306
        通過 mysqladmin 管理
            /usr/bin/mysqladmin     shutdown ( RPM 版本)
            /usr/local/mysql/bin/mysqladmin    shutdown  ( source or binary version )
2. 二進制版本
-----------    mysql-5.1.41-linux-i686-glibc23.tar.gz
        直接可以使用不需要編譯
10.1.1.1:/share/rhel_source/source/lamp/mysql_source/mysql-5.1.36-linux-i686-glibc23.tar.gz
groupadd mysql
useradd -g mysql mysql
cd /usr/local
ln -s /usr/src/mysql-5.1.36-linux-i686-glibc23  /usr/local/mysql
cd mysql
chown -R mysql .
chgrp -R mysql .
/usr/local/mysql/bin/mysqld --help --verbose  > /root/mysql-binary.help
            ( 如何自己編寫 my.cnf 語法的幫助 )
mkdir /usr/local/mysql/etc  ; vi /usr/local/mysql/etc/my.cnf
##################
[mysqld]
datadir=/data-binary
socket=/var/run/mysqld/mysql-binary.socket
pid-file=/var/run/mysqld/mysql-binary.pid
general_log                               ## 5.1 參數
general_log_file=/var/log/mysqld/mysql-binary.log  ## 5.1 參數
                            # 5.0 語法 log=/var/log/mysqld/mysql-binary.log
log-error=/var/log/mysqld/mysql-binary-error.log
port=3306
user=mysql
##################
#    以上目錄必須允許 mysql 用戶讀寫
##################
cd /usr/local/mysql
./scripts/mysql_install_db --user=mysql    (初始化數據庫 第一次啓動數據庫必須執行)
chown -R root .
chown -R mysql data
./bin/mysqld_safe --user=mysql &            (確認沒有其他程序佔用 3306 端口;  啓動 )
###
#  ./scripts/mysql_install_db  --datadir=/data-binary
#  chown mysql:mysql ...... -R
###
#客戶端自定義socket 連接位置方法
#  /usr/local/mysql/bin/mysql  --socket=/var/run/mysqld/mysql-binary.socket
###
/usr/local/mysql/bin/mysqladmin shutdown        關閉數據庫方法

###############################################
#    推薦建立管理員密碼
#  先啓動 mysql 服務器
#
# /usr/local/mysql/bin/mysqladmin -u root password 'new-password'
# /usr/local/mysql/bin/mysqladmin -u root -h 10.1.1.111 password 'new-password'
#    # 默認 root 無法從遠程連接 # 必須現對 root 進行遠程連接授權 #
#
#    只有 root 用戶能夠對 mysql 性能,配置,管理
#
#    建立某個數據庫數據管理員 ( 只針對某個庫中的數據進行管理 ) <-- 保留
#
###############################################
##########  mysql 管理員設定了密碼, 但忘記了密碼是什麼  ###########
[root@vm1 mysql]# mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
以上錯誤:表示進入時沒有提供正確的密碼所導致
### /usr/local/mysql/bin/mysqld_safe  --skip-grant-tables & ###
    只有在忘記了管理員密碼情況下,才允許執行上述啓動
    當完成管理員密碼修改後,必須關閉數據庫,重啓以驗證模式啓動
mysql> update mysql.user set password=password('123') where user='root';    -->更新數據庫管理員密碼
mysql> flush privileges;    -->使上面更新的密碼立即生效
-------------------------------------------------------------

############# 5.0.27-max-log #############
#        3.X 4.X 5.0 分別服務器版本有 max 不帶 max 版本
#        帶 max 版本支持 ndb 集羣        5.0.27-max-linux-i686-glibc23.tar.gz
#        不帶 max 版本不支持 ndb 集羣    5.0.27-linux-i686-glibc23.tar.gz
#
#        5.1 ?? 有獨立集羣版本
#        mysql-5.1.36-linux-i686-glibc23.tar.gz    (常用服務器版) (也支持集羣)
#        mysql-cluster-gpl-7.0.5-linux-i686-glibc23.tar.gz    (集羣專用版)(推薦)
#########################################
-------------------------------------------------
下載腳本:
#!/bin/bash
rm -fr mysql_install.txt
wget ftp://sz:[email protected]:/10/mysql_install_txt
-------------------------------------------------
3、時間同步
vim time.sh
#!/bin/bash
while [ 1 ]
do
    /usr/bin/ntpdate 10.1.1.1 > /dev/null 2>&1
    sleep 200
done
--------------------------------------------------
/data-binary/mysql:包括用戶信息
mysql -p 123 是表示要登錄123的數據庫
mysql -p123 這是表示登錄數據庫,密碼是123
/usr/local/mysql/bin/mysqld_safe --skip-grant-tables &
只有在忘記了管理員密碼情況下,才允許執行上述啓動
當完成管理員密碼修改後,必須關閉數據庫,重啓以難模式啓動
update mysql.user set password=password('123') where user='root';
flush privileges;
lsof -i:3306 查看端口是否打開

使用端口使用3306
通過mysqladmin管理
    /usr/bin/mysqladmin shutdown (rpm版本)
    /usr/local/mysql/bin/mysqlamdin shutdown (source or binary version)
    2、二進制版本:
mysql-5.1.41-linux-i686-glibc23.tar.gz  直接使用不需要編譯 
mysqladmin shutdown(rpm install 關閉mysql)

3. source 版本
[root@vm1 /]# /usr/local/mysql/bin/mysqladmin -p1234 shutdown
[root@vm1 /]# rm -fr /usr/local/mysql
[root@vm1 /]# lsof -i:3306
/share/rhel_source/source/lamp/mysql_source/mysql-5.0.33.tar.gz
1. 如果需要進行編譯,必須安裝 "Development Tools" "Development Libraries" 軟件包組
2../configure --help >help.compile         -->參考編譯時可以附帶參數
    --prefix            -->將來軟件包安裝的位置
    --enable-local-infile        -->將從文件中導入到數據庫
    --with-charset            -->字符定義(gbk,gb2312,utf8)(單選,推薦gbk) cp927是中國:或者是gb2312 gbk
                       假如創建數據庫及表不定義語言集,默認按照當前定義
    --with-extra-charsets        <---- 擴展 (除了默認以外,還支持什麼語言)
    --with-server-suffix        <---- 自定義服務器前綴
    --with-pthread            <---- 線程編譯(高效,高性能體現)
    --with-unix-socket-path        <---- 指定 (mysql庫文件) 默認的 socket 位置
    --with-tcp-port
    --with-mysqld-user
    --with-zlib-dir            <---- 通過 zip 的方式實驗數據壓縮
    --with-libwrap            <---- 支持 tcp_warppers
    --with-low-memory
    --without-server        <---- 只編譯 mysql 客戶端不編譯 server
    --with-embedded-server        <---- 嵌入式 mysql (一般不加)
    --with-mysqlmanager        <---- 多啓動管理器
    --with-openssl            <---- client <--- ssl ----> server
    --with-big-tables        <---- 支持大於 4G 的表
    --with-max-indexes        <---- 支持單表大於 64 個索引,一般很少用到,如果用到,則效率也比較低。
    --with-debug            <---- 調試功能,可以查詢相關係統信息,特別是系統出問題的時候。
################# 引擎定義
            --without-innodb        <---- 不支持 innodb 引擎
            --with-example-storage-engine
            --with-archive-storage-engine
            --with-csv-storage-engine
            --with-blackhole-storage-engine
            --with-ndbcluster
                    \--        --with-ndb-docs
                     \--       --with-ndb-test
            --with-federated-storage-engine
 #################
1.解壓
2.編譯安裝
./configure --prefix=/usr/local/mysql --enable-local-infile --with-charset=gbk --with-extra-charsets=gb2312,utf8 --with-server-suffix="-terry" --with-pthread --with-unix-socket-path=/var/run/mysqld/mysql5.socket --with-tcp-port=3306 --with-mysqld-user=mysql --with-zlib-dir=/usr --with-libwrap=/usr --with-low-memory --with-mysqlmanager --with-openssl --with-big-tables --with-debug  --with-example-storage-engine  --with-archive-storage-engine  --with-csv-storage-engine  --with-blackhole-storage-engine  --with-ndbcluster  --with-ndb-docs  --with-ndb-test  --with-federated-storage-engine

說明:
(show engines;)myisam針對不是很大數據的時候,這個體現出了一個高效,存儲在datadir目錄中,memory的效率最高,但用在臨時表,因爲重啓後就掉了。若一個表超過100M,則就不行了。innodb支持行鎖定,berkeleydb頁鎖定,myisam表鎖定 blackhole    example   archive ndbcluster

3.編寫配置文件/usr/localmysql/etc/my.cnf
[mysqld]
datadir=/data-source
socket=/var/run/mysqld/mysql5.socket
pid-file=/var/run/mysqld/mysql5.pid
log=/var/log/mysqld/mysql5.log
log-error=/var/log/mysqld/mysql5-error.log
port=3306
user=mysql
4.初始化數據庫
/usr/local/mysql/bin/mysql_install_db --datadir=/data-source/
5.確保/var/run/mysqld /var/log/mysqld /usr/local/mysql /data-source允許mysql讀寫
6.建立服務啓動腳本
cp /usr/src/mysql/mysql-5.0.33/support-files/mysql.server /etc/rc.d/init.d/mysql5
chmod 755 /etc/rc.d/init.d/mysql5
7.啓動服務
service mysql5 start
8. 連接測試
    mysql  --socket=/var/run/mysqld/mysql5.socket

9. show engines 查閱是否把編譯的引擎都能夠成功的順利產生

-----------------------
根據以上的編譯所支持的引擎:
-----------------------
mysql> show engines;
+------------+----------+----------------------------------------------------------------+
| Engine     | Support  | Comment                                                        |
+------------+----------+----------------------------------------------------------------+
| MyISAM     | DEFAULT  | Default engine as of MySQL 3.23 with great performance         |
| MEMORY     | YES      | Hash based, stored in memory, useful for temporary tables      |
| InnoDB     | YES      | Supports transactions, row-level locking, and foreign keys     |
| BerkeleyDB | NO       | Supports transactions and page-level locking                   |
| BLACKHOLE  | YES      | /dev/null storage engine (anything you write to it disappears) |
| EXAMPLE    | YES      | Example storage engine                                         |
| ARCHIVE    | YES      | Archive storage engine                                         |
| CSV        | YES      | CSV storage engine                                             |
| ndbcluster | DISABLED | Clustered, fault-tolerant, memory-based tables                 |
| FEDERATED  | YES      | Federated MySQL storage engine                                 |
| MRG_MYISAM | YES      | Collection of identical MyISAM tables                          |
| ISAM       | NO       | Obsolete storage engine                                        |
+------------+----------+----------------------------------------------------------------+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章