一、源代碼安裝須要解決的問題
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的安裝過程
Setup的過程
[root@fcy mysql-5.6.10]# cmake . ......(過程略)
過程當中會報錯,安裝ncurses和ncurses-devel便可
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的路徑添加到系統變量
刷新腳本並顯示
[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
將mysql的lib庫動態連接到系統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
四、總結
注意源代碼安裝過程當中的錯誤信息提示,通常都是缺乏庫文件或者安裝工具,按照提示安裝便可。