源碼方式安裝mysql

MySql主從安裝
1 環境介紹

操作系統:Oracle Linux Server release 6.2
2 安裝軟件
採用源碼安裝方式
1. mysql安裝包:mysql-5.6.15.tar.gz
Mysql 下載地址:http://dev.mysql.com/downloads/
2.  Cmake安裝包
mysql5.5以後是通過cmake來編譯的
wget http://www.cmake.org/files/v2.8/cmake-2.8.4.tar.gz

3 刪除Oracle Linux自帶的MySql
如果已經安裝了Mysql其他版本,先刪除
3.1 檢查是否安裝了MySQL
[root@study1 /]# rpm -qa | grep -i mysql
mysql-libs-5.1.52-1.el6_0.1.i686
qt-mysql-4.6.2-20.el6.i686
mysql-server-5.1.52-1.el6_0.1.i686
mysql-5.1.52-1.el6_0.1.i686
perl-DBD-MySQL-4.013-3.el6.i686

3.2 使用yum來刪除MySQL
[root@study1 ~]# yum -y remove  mysql-server-5.1.52-1.el6_0.1.i686
[root@study1 ~]# yum -y remove mysql-5.1.52-1.el6_0.1.i686
[root@study1 ~]# yum -y remove mysql-libs-5.1.52-1.el6_0.1.i686
4 主服務器上安裝MySql
4.1 先安裝cmake
[root@study1 software]# tar -zxvf cmake-2.8.4.tar.gz
[root@study1 software]# cd cmake-2.8.4
[root@study1 cmake-2.8.4]# ./configure
[root@study1 cmake-2.8.4]# make
[root@study1 cmake-2.8.4]# make install

4.2 創建mysql的安裝目錄及數據存放目錄
[root@study1 opt]# mkdir /opt/mysql        //安裝mysql
[root@study1 opt]# mkdir /opt/mysql/data    //存放數據
4.3 創建mysql用戶及用戶組
[root@study1 opt]# groupadd mysql
[root@study1 opt]# useradd –r –g mysql mysql
賦予數據存放目錄權限:
chown mysql:mysql -R /opt/mysql/data

4.4 編譯安裝mysql
? 編譯
[root@study1 software]# tar -zxvf mysql-5.6.15.tar.gz
[root@study1 software]# cd mysql-5.6.15
[root@study1 mysql-5.6.15]# cmake -DCMAKE_INSTALL_PREFIX=/opt/mysql \
 -DSYSCONFDIR=/opt/mysql/etc \
 -DMYSQL_DATADIR=/opt/mysql/data \
 -DMYSQL_TCP_PORT=3306 \
 -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock \
 -DWITH_EXTRA_CHARSETS=all \
 -DWITH_SSL=bundled \
 -DWITH_EMBEDDED_SERVER=1 \
 -DENABLED_LOCAL_INFILE=1 \
 -DWITH_INNOBASE_STORAGE_ENGINE=1 \
 -DDEFAULT_CHARSET=utf8 \
 -DDEFAULT_COLLATION=utf8_general_ci

參數說明:
 CMAKE_INSTALL_PREFIX : MySQL安裝目錄
 SYSCONFDIR : 配置文件目錄
 MYSQL_DATADIR :數據庫目錄
 MYSQL_TCP_PORT :數據庫端口
 MYSQL_UNIX_ADDR :安排個目錄放mysql.sock文件把,可以設置爲日誌存放,data存放目錄等位置
 WITH_EXTRA_CHARSETS : 字符
 WITH_SSL       :the type of SSL
 WITH_EMBEDDED_SERVER :Whether to build embedded server (默認:OFF)
 ENABLED_LOCAL_INFILE :Whether to enable LOCAL for LOAD DATA INFILE(默認:OFF)  允許從本地導入數據
 WITH_INNOBASE_STORAGE_ENGINE:  1

參數詳細見:http://dev.mysql.com/doc/refman/5.6/en/source-configuration-options.html


如果發生錯誤查看:
。。。/mysql-5.6.15/CMakeFiles下的CMakeError.log、CMakeOutput.log文件
注意事項:
重新編譯時,需要清除舊的對象文件和緩存信息。
# rm -f CMakeCache.txt
? 安裝
[root@study1 mysql-5.6.15]# make
[root@study1 mysql-5.6.15]# make install

4.5 初始化數據庫
[root@study1 mysql]# cd /opt/mysql
[root@study1 mysql]# mkdir etc
[root@study1 mysql]# mkdir log
[root@study1 mysql]#  chown -R mysql .
[root@study1 mysql]# chgrp -R mysql .
[root@study1 mysql]# scripts/mysql_install_db --user=mysql --basedir=/opt/mysql/ --datadir=/opt/mysql/data/
Installing MySQL system tables...2014-01-23 10:18:50 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2014-01-23 10:18:50 20209 [Note] InnoDB: The InnoDB memory heap is disabled
2014-01-23 10:18:50 20209 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2014-01-23 10:18:50 20209 [Note] InnoDB: Compressed tables use zlib 1.2.3
2014-01-23 10:18:50 20209 [Note] InnoDB: Using Linux native AIO
2014-01-23 10:18:50 20209 [Note] InnoDB: Not using CPU crc32 instructions
2014-01-23 10:18:50 20209 [Note] InnoDB: Initializing buffer pool, size = 128.0M
2014-01-23 10:18:50 20209 [Note] InnoDB: Completed initialization of buffer pool
2014-01-23 10:18:50 20209 [Note] InnoDB: The first specified data file ./ibdata1 did not exist: a new database to be created!
2014-01-23 10:18:50 20209 [Note] InnoDB: Setting file ./ibdata1 size to 12 MB
2014-01-23 10:18:50 20209 [Note] InnoDB: Database physically writes the file full: wait...
2014-01-23 10:18:50 20209 [Note] InnoDB: Setting log file ./ib_logfile101 size to 48 MB
2014-01-23 10:18:53 20209 [Note] InnoDB: Setting log file ./ib_logfile1 size to 48 MB
2014-01-23 10:18:56 20209 [Note] InnoDB: Renaming log file ./ib_logfile101 to ./ib_logfile0
2014-01-23 10:18:56 20209 [Warning] InnoDB: New log files created, LSN=45781
2014-01-23 10:18:56 20209 [Note] InnoDB: Doublewrite buffer not found: creating new
2014-01-23 10:18:56 20209 [Note] InnoDB: Doublewrite buffer created
2014-01-23 10:18:56 20209 [Note] InnoDB: 128 rollback segment(s) are active.
2014-01-23 10:18:56 20209 [Warning] InnoDB: Creating foreign key constraint system tables.
2014-01-23 10:18:56 20209 [Note] InnoDB: Foreign key constraint system tables created
2014-01-23 10:18:56 20209 [Note] InnoDB: Creating tablespace and datafile system tables.
2014-01-23 10:18:56 20209 [Note] InnoDB: Tablespace and datafile system tables created.
2014-01-23 10:18:56 20209 [Note] InnoDB: Waiting for purge to start
2014-01-23 10:18:56 20209 [Note] InnoDB: 5.6.15 started; log sequence number 0
2014-01-23 10:18:58 20209 [Note] Binlog end
2014-01-23 10:18:58 20209 [Note] InnoDB: FTS optimize thread exiting.
2014-01-23 10:18:58 20209 [Note] InnoDB: Starting shutdown...
2014-01-23 10:18:59 20209 [Note] InnoDB: Shutdown completed; log sequence number 1625977
OK

Filling help tables...2014-01-23 10:18:59 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2014-01-23 10:19:00 20234 [Note] InnoDB: The InnoDB memory heap is disabled
2014-01-23 10:19:00 20234 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2014-01-23 10:19:00 20234 [Note] InnoDB: Compressed tables use zlib 1.2.3
2014-01-23 10:19:00 20234 [Note] InnoDB: Using Linux native AIO
2014-01-23 10:19:00 20234 [Note] InnoDB: Not using CPU crc32 instructions
2014-01-23 10:19:00 20234 [Note] InnoDB: Initializing buffer pool, size = 128.0M
2014-01-23 10:19:00 20234 [Note] InnoDB: Completed initialization of buffer pool
2014-01-23 10:19:00 20234 [Note] InnoDB: Highest supported file format is Barracuda.
2014-01-23 10:19:00 20234 [Note] InnoDB: 128 rollback segment(s) are active.
2014-01-23 10:19:00 20234 [Note] InnoDB: Waiting for purge to start
2014-01-23 10:19:00 20234 [Note] InnoDB: 5.6.15 started; log sequence number 1625977
2014-01-23 10:19:00 20234 [Note] Binlog end
2014-01-23 10:19:00 20234 [Note] InnoDB: FTS optimize thread exiting.
2014-01-23 10:19:00 20234 [Note] InnoDB: Starting shutdown...
2014-01-23 10:19:01 20234 [Note] InnoDB: Shutdown completed; log sequence number 1625987
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:

  /opt/mysql//bin/mysqladmin -u root password 'new-password'
  /opt/mysql//bin/mysqladmin -u root -h study1.dlt password 'new-password'

Alternatively you can run:

  /opt/mysql//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 . ; /opt/mysql//bin/mysqld_safe &

You can test the MySQL daemon with mysql-test-run.pl

  cd mysql-test ; perl mysql-test-run.pl

Please report any problems with the ./bin/mysqlbug script!

The latest information about MySQL is available on the web at

  http://www.mysql.com

Support MySQL by buying support/licenses at http://shop.mysql.com

New default config file was created as /opt/mysql//my.cnf and
will be used by default by the server when you start it.
You may edit this file to change server settings


[root@study1 mysql]# chown -R root .
[root@study1 mysql]# chown -R mysql data
[root@study1 mysql]#  bin/mysqld_safe --user=mysql &
[3] 20646
[root@study1 mysql]# 140123 10:42:05 mysqld_safe Logging to '/opt/mysql/data/study1.dlt.err'.
140123 10:42:05 mysqld_safe Starting mysqld daemon with databases from /opt/mysql/data
4.6 配置數據庫
    修改密碼:
[root@study1 mysql]# bin/mysqladmin -u root password 'mysql'


[root@study1 mysql]# cp support-files/mysql.server /etc/init.d/
[root@study1 mysql]# cp support-files/my-default.cnf  etc/my.cnf

編輯etc/my.cnf,zai [mysqld]下增加lower_case_table_names=1
設置環境:
[root@study1 etc]# cd /etc
[root@study1 etc]# vi profile
在文件最後增加:
PATH=/opt/mysql/bin:/opt/mysql/lib:$PATH
export PATH

4.7 手工啓動數據庫
[root@study1 mysql]# service mysql.server status
 ERROR! MySQL is not running
[root@study1 mysql]# service mysql.server start
Starting MySQL.......... SUCCESS!
[root@study1 mysql]# service mysql.server status
 SUCCESS! MySQL running (31160)
[root@study1 mysql]#
4.8 設置自動啓動
[root@study1 mysql]# chkconfig --level 35 mysql.server on
[root@study1 mysql]# chkconfig | grep mysql
mysql.server    0:off   1:off   2:on    3:on    4:on    5:on    6:off


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章