源代碼安裝mysql

一、源代碼安裝須要解決的問題
mysql

    1)、編譯環境(Develoment tools);
sql

    2)、指定安裝路徑(編譯前用--prifix指定);
數據庫

    3)、搜索路徑,環境變量(添加進/etc/profile中);
vim

    4)、連接頭文件(在/usr/include將源碼產生的頭文件連接到此處);
bash

    5)、連接庫文件(在/etc/ld.so.conf.d/下建立一個.conf結尾的文件,添加庫路徑便可);
tcp

    6)、修改控制腳本(將控制腳本放在/etc/init.d/下,並賦予可執行權限);
編輯器

    7)、設置開機自啓動(chkconfig --add 腳本名稱);
ide

    8)、支持man手冊(echo "MANPATH  man路徑">>/etc/man.config)。
工具


二、mysql數據庫簡介性能

    MySQL 是一個關係型數據庫管理系統,由瑞典 MySQL AB 公司開發,目前屬於 Oracle 旗下公司。MySQL 最流行的關係型數據庫管理系統,在 WEB 應用方面 MySQL 是最好的 RDBMS (Relational Database Management System,關係數據庫管理系統) 應用軟件之一。MySQL 是一種關聯數據庫管理系統,關聯數據庫將數據保存在不一樣的表中,而不是將全部數據放在一個大倉庫內,這樣就增長了速度並提升了靈活性。MySQL 所使用的 SQL 語言是用於訪問數據庫的最經常使用標準化語言。MySQL 軟件採用了雙受權政策(本詞條「受權政策」),它分爲社區版和商業版,因爲其體積小、速度快、整體擁有成本低,尤爲是開放源碼這一特色,通常中小型網站的開發都選擇 MySQL 做爲網站數據庫。因爲其社區版的性能卓越,搭配 PHP 和 Apache 可組成良好的開發環境。


三、案列實施

    1)、實驗環境:

        操做系統:CentOS6.5-32bit

        開發環境:Development tools,ncurses,ncurses-devel,pcre-devel

        源代碼:cmake-2.8.10.2.tar.gz,mysql-5.6.10.tar.gz


    2)、實驗步驟:

        拷貝安裝所需的源代碼

[root@fcy mysql]# ll /mnt/mysql/
total 39988
-rw-r--r--. 1 root root  5768373 Jul 20 19:25 cmake-2.8.10.2.tar.gz  #跨平臺編譯工具
-rw-r--r--. 1 root root 35174149 Jul 20 19:20 mysql-5.6.10.tar.gz    #mysql服務

        

        安裝源代碼安裝所需環境

yum –disablerepo=\* --enablerepo=c6-mediagroupinstall 「Development tools」 –y

        

        解壓縮到/usr/local/src

[root@fcymysql]# tar -zxvf cmake-2.8.10.2.tar.gz -C /usr/local/src
    ......(過程略)
[root@fcy mysql]# tar -zxvfmysql-5.6.10.tar.gz -C /usr/local/src
    ......(過程略)


        

        進入/usr/local/src/cmake目錄,指定安裝目錄爲/usr/local/

[root@fcy cmake-2.8.10.2]# ./configure--prefix=/usr/local/
    ......(過程略)
[root@fcy cmake-2.8.10.2]#make &&make install
    ......(過程略)

 

        進入/usr/local/mysql目錄(安裝以前記得卸載系統內的低版本mysql,否則會有衝突),進入後查看一下,發現有一個名稱爲INSTALL_SOURCE的文件,用vim編輯器打開,在3788行左右,有該版本mysql的安裝過程

wKioL1WsvAzAU1yoAAJsdMebAaE679.jpg


        Setup的過程

wKiom1Wsul3DzklpAALxF6F2K44206.jpg        cmake編譯mysql源代碼(過程較耗時)

[root@fcy mysql-5.6.10]# cmake .
    ......(過程略)

        過程當中會報錯,安裝ncursesncurses-devel便可

wKiom1Wsuy-Dxb3RAAMRZLFUmR4681.jpg        

yum–disablerepo=\* --enablerepo=c6-media install ncurses ncurses-devel –y

        安裝完成後刪除解壓的mysql代碼包,從新解壓縮在編譯便可

[root@fcy mysql-5.6.10]#Make&& make install

        建立用戶組musql

[root@fcymysql]# groupadd mysql

        建立用戶mysql並加入到mysql

[root@fcymysql]# useradd -r -g mysql mysql

        進入到/usr/local/mysql目錄,修改全部文件的用戶和組爲mysql

[root@fcy mysql]# chown -R mysql:mysql .
[root@fcy mysql]# ll
total 76
-rw-r--r--. 1 mysql mysql 17987 Jan 23  2013 COPYING
-rw-r--r--. 1 mysql mysql  7468 Jan 23  2013 INSTALL-BINARY
-rw-r--r--. 1 mysql mysql  2552 Jan 23  2013 README
drwxr-xr-x. 2 mysql mysql  4096 Jul 20 21:10bin
drwxr-xr-x. 4 mysql mysql  4096 Jul 20 21:09data
drwxr-xr-x. 2 mysql mysql  4096 Jul 20 21:09docs
drwxr-xr-x. 3 mysql mysql  4096 Jul 20 21:09include
drwxr-xr-x. 3 mysql mysql  4096 Jul 20 21:09lib
drwxr-xr-x. 4 mysql mysql  4096 Jul 20 21:10man
drwxr-xr-x. 10 mysql mysql  4096 Jul 20 21:10 mysql-test
drwxr-xr-x. 2 mysql mysql  4096 Jul 20 21:10scripts
drwxr-xr-x. 28 mysql mysql  4096 Jul 20 21:10 share
drwxr-xr-x. 4 mysql mysql  4096 Jul 20 21:10sql-bench
drwxr-xr-x.  3 mysql mysql 4096 Jul 20 21:10 support-files

        安裝mysql默認數據庫,並指定運行用戶爲mysql

[root@fcymysql]# scripts/mysql_install_db --user=mysql

        查看/usr/local/mysql/data目錄生成的默認數據庫

[root@fcy mysql]# ll data
total 110604
-rw-rw----. 1 mysql mysql 50331648 Jul 2022:12 ib_logfile0
-rw-rw----. 1 mysql mysql 50331648 Jul 2022:12 ib_logfile1
-rw-rw----. 1 mysql mysql 12582912 Jul 2022:12 ibdata1
drwxr-xr-x. 2 mysql mysql     4096 Jul 20 22:12 mysql
drwx------. 2 mysql mysql     4096 Jul 20 22:12 performance_schema
drwxr-xr-x.2 mysql mysql     4096 Jul 20 21:09 test

        修改/usr/local/mysql/下的全部者爲root

[root@fcy mysql]# chown -R root .
[root@fcy mysql]# ll
total 80
-rw-r--r--. 1 root mysql 17987 Jan 23  2013COPYING
-rw-r--r--. 1 root mysql  7468 Jan 23  2013 INSTALL-BINARY
-rw-r--r--. 1 root mysql  2552 Jan 23  2013 README
drwxr-xr-x. 2 root mysql  4096 Jul 20 21:10bin
drwxr-xr-x. 5 root mysql  4096 Jul 20 22:12data
drwxr-xr-x. 2 root mysql  4096 Jul 20 21:09docs
drwxr-xr-x. 3 root mysql  4096 Jul 20 21:09include
drwxr-xr-x. 3 root mysql  4096 Jul 20 21:09lib
drwxr-xr-x. 4 root mysql  4096 Jul 20 21:10man
-rw-r--r--. 1 root root    943 Jul 20 22:12my.cnf
drwxr-xr-x. 10 root mysql  4096 Jul 20 21:10 mysql-test
drwxr-xr-x. 2 root mysql  4096 Jul 20 21:10scripts
drwxr-xr-x. 28 root mysql  4096 Jul 20 21:10 share
drwxr-xr-x. 4 root mysql  4096 Jul 20 21:10sql-bench
drwxr-xr-x.  3 root mysql 4096 Jul 20 21:10 support-files

        特別的將/usr/local/mysql/data目錄的全部者改成mysql

[root@fcy mysql]# chown -R mysql data
[root@fcy mysql]# ll -d data
drwxr-xr-x. 5 mysql mysql 4096 Jul 20 22:12data

        拷貝mysql的主配置文件到/etc/my.cnf

[root@fcy mysql]# cpsupport-files/my-default.cnf /etc/my.cnf

        mysql的路徑添加到系統變量

wKioL1Wsv6Civeq0AABPhcv96Q8479.jpg

        刷新腳本並顯示

[root@fcy mysql]# source /etc/profile
[root@fcy mysql]# echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/mysql/bin

        拷貝啓動控制腳本到/etc/init.d/ 並重命名爲mysqld

[root@fcy mysql]# cpsupport-files/mysql.server /etc/init.d/mysqld

        添加mysql爲開機自啓動

[root@fcy mysql]# chkconfig --add mysqld
[root@fcy mysql]# chkconfig --list |grepmysqld
mysqld            0:off 1:off 2:on 3:on 4:on 5:on 6:off

        mysqllib庫動態連接到系統lib

[root@fcy mysql]# touch/etc/ld.so.conf.d/mysql.conf
[root@fcy mysql]# echo"/usr/local/mysql/lib">>/etc/ld.so.conf.d/mysql

        刷新並查看

[root@fcy mysql]# ldconfig
[root@fcy mysql]# ldconfig -pv |grep mysql
         libmysqlclient_r.so.16(libc6) => /usr/lib/mysql/libmysqlclient_r.so.16
         libmysqlclient.so.16(libc6) => /usr/lib/mysql/libmysqlclient.so.16

        man手冊的路徑告訴系統,方便查找man的相關幫助信息

[root@fcy mysql]# echo "MANPATH/usr/local/mysql/man" >>/etc/man.config

        mysql的頭文件庫建立連接

[root@fcy include]# pwd
/usr/include
[root@fcy include]# ln -s/usr/local/mysql/include/ mysql
[root@fcy include]# ll |grep mysql
lrwxrwxrwx. 1 root root     25 Jul 20 22:51mysql -> /usr/local/mysql/include/

        啓動mysql並檢查端口3306是否啓動

[root@fcy include]# service mysqld start
Starting MySQL. SUCCESS!
[root@fcy include]# netstat -tupln |grepmysqld
tcp       0      0 :::3306                     :::*              LISTEN      6496/mysqld

        mysql數據庫設置登陸密碼(初始密碼爲空)

[root@fcy include]# mysqladmin -u root -ppassword '123456'
Enter password:

        使用root帳號登陸並建立數據庫

[root@fcy include]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 6
Server version: 5.6.10 Source distribution
 
Copyright (c) 2000, 2013, Oracle and/or itsaffiliates. All rights reserved.
 
Oracle is a registered trademark of OracleCorporation and/or its
affiliates. Other names may be trademarksof their respective
owners.
 
Type 'help;' or '\h' for help. Type '\c' toclear the current input statement.
 
mysql>

        建立數據庫testdb

mysql> create databases testdb;
ERROR 1064 (42000): You have an error inyour SQL syntax; check the manual that corresponds to your MySQL server versionfor the right syntax to use near 'databases testdb' at line 1
mysql> create database testdb;
Query OK, 1 row affected (0.00 sec)
 
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
| testdb             |
+--------------------+
5rows in set (0.00 sec)

        查看文件中的數據庫testdb

wKiom1Wsv1mwN8dmAAKpM2_Xe_I759.jpg


四、總結

    注意源代碼安裝過程當中的錯誤信息提示,通常都是缺乏庫文件或者安裝工具,按照提示安裝便可。

相關文章
相關標籤/搜索