mysql安裝一 --- 源碼包安裝


1.登陸http://www.mysql.com/ 或者 www.oracle.com

2.
3.
4.
上面如果不能加載,禁用代理軟件
5.
6.
7.
8.
9.上傳

10.md5校驗安裝包的完整性

 
 
 
         
  1. [root@db2 ~]# md5sum ./mysql-5.6.26.tar.gz
  2. 733e1817c88c16fb193176e76f5b818f ./mysql-5.6.26.tar.gz

與上面的md5對照,如果一致說明安裝包完整無缺
11.解壓

 
 
 
         
  1. [root@db2 ~]# tar -xzvf mysql-5.6.26.tar.gz

源碼目錄說明:源碼包目錄.md

正式安裝

1.安裝cmake

下載地址:http://www.cmake.org/ 或者 http://yunpan.cn/cHgpTUaYRqjnc 訪問密碼 384d

 
 
 
         
  1. tar -xzvf cmake-3.3.1.tar.gz
  2. cd cmake-3.3.1
  3. ./configure
  4. make
  5. make install

需要安裝gcc
yum install gcc
yum install gcc-c++

2.創建mysql安裝目錄和數據文件目錄
 
 
 
         
  1. [root@db2 ~]# mkdir -p /usr/local/mysql
  2. [root@db2 ~]# mkdir -p /usr/local/mysql/data
3.創建用戶和組
 
 
 
         
  1. groupadd mysql
  2. useradd -r -g mysql mysql
4.安裝mysql
 
 
 
         
  1. tar -xzvf mysql-5.6.26.tar.gz
  2. [root@db2 ~]# cd mysql-5.6.26
  3. cmake . \
  4. -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
  5. -DMYSQL_DATADIR=/usr/local/mysql/data \
  6. -DSYSCONFDIR=/etc \
  7. -DWITH_MYISAM_STORAGE_ENGINE=1 \
  8. -DWITH_INNOBASE_STORAGE_ENGINE=1 \
  9. -DWITH_MEMORY_STORAGE_ENGINE=1 \
  10. -DWITH_READLINE=1 \
  11. -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \
  12. -DMYSQL_TCP_PORT=3306 \
  13. -DENABLED_LOCAL_INFILE=1 \
  14. -DWITH_PARTITION_STORAGE_ENGINE=1 \
  15. -DEXTRA_CHARSETS=all \
  16. -DDEFAULT_CHARSET=utf8 \
  17. -DDEFAULT_COLLATION=utf8_general_ci
  18. [root@db2 mysql-5.6.26]# make && make install

參數說明:
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql //安裝目錄
-DINSTALL_DATADIR=/usr/local/mysql/data //數據庫存放目錄
-DDEFAULT_CHARSET=utf8     //使用utf8字符
-DDEFAULT_COLLATION=utf8_general_ci //校驗字符
-DEXTRA_CHARSETS=all     //安裝所有擴展字符集
-DENABLED_LOCAL_INFILE=1    //允許從本地導入數據

編譯的參數可以參考http://dev.mysql.com/doc/refman/5.5/en/source-configuration-options.html

** 注意事項:**
重新編譯時,需要清除舊的對象文件和緩存信息。

 
 
 
         
  1. # make clean
  2. # rm -f CMakeCache.txt
  3. # rm -rf /etc/my.cnf

5.配置

 
 
 
         
  1. [root@db2 ~]# chown -R mysql:mysql /usr/local/mysql
  2. [root@db2 ~]# cp mysql-5.6.26/support-files/my-small.cnf /usr/local/mysql/my.cnf
  3. 編輯my.cnf
  4. mysqld標簽下添加如下內容:
  5. basedir=/usr/local/mysql
  6. datadir=/usr/local/mysql/data

(1)初始化配置
進入安裝路徑,執行初始化配置腳本,創建系統自帶的數據庫和表

 
 
 
         
  1. [root@db2 ~]# cd /usr/local/mysql/
  2. [root@db2 mysql]# scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql

(2)設置環境變量

 
 
 
         
  1. PATH=$PATH:$HOME/bin:/usr/local/mysql/bin:/usr/local/mysql/lib
  2. export PATH
  3. . .bash_profile

6.啟動服務

(1)手動啟動mysql服務

 
 
 
         
  1. [root@ rhel5~]# cd /usr/local/mysql
  2. [root@ rhel5 mysql]# ./bin/mysqld_safe --user=mysql &   //啟動MySQL,但不能停止
  3. 啟動日志寫在此文件下:/usr/local/mysql/data/localhost.err
  4. [root@db2 bin]# ps -ef | grep mysql
  5. root 22979 58621 0 22:56 pts/1 00:00:00 /bin/sh ./bin/mysqld_safe --user=mysql
  6. mysql 23069 22979 0 22:56 pts/1 00:00:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/usr/local/mysql/data/db2.err --pid-file=/usr/local/mysql/data/db2.pid
  7. root 23119 58621 0 22:57 pts/1 00:00:00 grep mysql
  8. 關閉MySQL服務
  9. [root@db2 mysql]# ./bin/mysqladmin -u root -p shutdown
  10. Enter password:
  11. 150917 23:03:57 mysqld_safe mysqld from pid file /usr/local/mysql/data/db2.pid ended
  12. [1]+ Done ./bin/mysqld_safe --user=mysql  
  13. //這里MySQL的root用戶還沒有配置密碼,所以為空值。需要輸入密碼時,直接點回車鍵即可。

(2)設置自動啟動mysql

 
 
 
         
  1. [root@db2 mysql]# cp support-files/mysql.server /etc/init.d/mysql
  2. [root@db2 mysql]# chkconfig mysql on
  3. [root@db2 mysql]# service mysql start
  4. Starting MySQL. [ OK ]

錯誤

 
 
 
         
  1. [root@db2 mysql-5.6.26]# cmake .
  2. -- Running cmake version 3.3.1
  3. -- Could NOT find Git (missing: GIT_EXECUTABLE)
  4. -- MySQL 5.6.26
  5. -- Packaging as: mysql-5.6.26-Linux-i686
  6. -- Could NOT find Threads (missing: Threads_FOUND)
  7. -- Could NOT find Threads (missing: Threads_FOUND)
  8. -- Check if the system is big endian
  9. -- Searching 16 bit integer
  10. CMake Error at /usr/local/share/cmake-3.3/Modules/TestBigEndian.cmake:51 (message):
  11. no suitable type found
  12. Call Stack (most recent call first):
  13. configure.cmake:628 (TEST_BIG_ENDIAN)
  14. CMakeLists.txt:398 (INCLUDE)
  15. -- Configuring incomplete, errors occurred!
  16. See also "/root/mysql-5.6.26/CMakeFiles/CMakeOutput.log".
  17. See also "/root/mysql-5.6.26/CMakeFiles/CMakeError.log".

解決辦法:
刪除目錄,重新解壓mysql包

 
 
 
         
  1. -- Could NOT find Curses (missing: CURSES_LIBRARY CURSES_INCLUDE_PATH)
  2. CMake Error at cmake/readline.cmake:85 (MESSAGE):
  3. Curses library not found. Please install appropriate package,
  4. remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu, package name is libncurses5-dev, on Redhat and derivates it is ncurses-devel.
  5. Call Stack (most recent call first):
  6. cmake/readline.cmake:128 (FIND_CURSES)
  7. cmake/readline.cmake:202 (MYSQL_USE_BUNDLED_EDITLINE)
  8. CMakeLists.txt:409 (MYSQL_CHECK_EDITLINE)
  9. -- Configuring incomplete, errors occurred!
  10. See also "/root/mysql-5.6.26/CMakeFiles/CMakeOutput.log".
  11. See also "/root/mysql-5.6.26/CMakeFiles/CMakeError.log".

解決:
yum install ncurses-devel
rm -rf CMakeCache.txt
重新執行
cmake .

 
 
 
         
  1. [ 50%] Building C object sql/CMakeFiles/sql.dir/__/sql-common/my_time.c.o
  2. [ 50%] Building C object sql/CMakeFiles/sql.dir/__/sql-common/my_user.c.o
  3. [ 51%] Building C object sql/CMakeFiles/sql.dir/__/sql-common/pack.c.o
  4. [ 51%] Building CXX object sql/CMakeFiles/sql.dir/__/sql-common/client_authentication.cc.o
  5. [ 51%] Building CXX object sql/CMakeFiles/sql.dir/event_data_objects.cc.o
  6. [ 51%] Building CXX object sql/CMakeFiles/sql.dir/event_db_repository.cc.o
  7. [ 51%] Building CXX object sql/CMakeFiles/sql.dir/event_parse_data.cc.o
  8. [ 51%] Building CXX object sql/CMakeFiles/sql.dir/event_queue.cc.o
  9. [ 51%] Building CXX object sql/CMakeFiles/sql.dir/event_scheduler.cc.o
  10. [ 51%] Building CXX object sql/CMakeFiles/sql.dir/events.cc.o
  11. [ 51%] Building CXX object sql/CMakeFiles/sql.dir/mysqld.cc.o
  12. [ 51%] Building CXX object sql/CMakeFiles/sql.dir/sql_client.cc.o
  13. [ 51%] Linking CXX static library libsql.a
  14. /usr/bin/ar: CMakeFiles/sql.dir/rpl_handler.cc.o: No such file or directory
  15. make[2]: *** [sql/libsql.a] Error 1
  16. make[1]: *** [sql/CMakeFiles/sql.dir/all] Error 2
  17. make: *** [all] Error 2

服務啟動失敗:

或者

解決:

注:在啟動MySQL服務時,會按照一定次序搜索my.cnf,先在/etc目錄下找,找不到則會搜索”$basedir/my.cnf”,在本例中就是 /usr/local/mysql/my.cnf,這是新版MySQL的配置文件的默認位置!

注意:在rhel 6.4版操作系統的最小安裝完成后,在/etc目錄下會存在一個my.cnf,需要將此文件更名為其他的名字,如:/etc/my.cnf.bak,否則,該文件會干擾源碼安裝的MySQL的正確配置,造成無法啟動。

在使用”yum update”更新系統后,需要檢查下/etc目錄下是否會多出一個my.cnf,如果多出,將它重命名成別的。否則,MySQL將使用這個配置文件啟動,可能造成無法正常啟動等問題。

   
   
   
           
  1. mv /etc/my.cnf /etc/my.cnf.bak





免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM