天天看點

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

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

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

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                                        |