mysql源碼包手動安裝、配置以及測試(親測可行)

來源:互聯網
上載者:User

標籤:

筆記編者:小波/qq463431476部落格首頁:http://www.cnblogs.com/xiaobo-Linux/

記下這篇mysql筆記,望日後有用!

redhat6採用centos yum源,詳解mysql的源碼安裝以及配置。這裡繼續上篇的部落格php,Apache的配置,現在寫MySQL的配置。lamp搭建到此成功!

Apache源碼安裝的筆記:http://www.cnblogs.com/xiaobo-Linux/p/4637056.html

php源碼安裝的筆記:http://www.cnblogs.com/xiaobo-Linux/p/4637775.html

現在開始寫MySQL的源碼安裝以及配置:

1、安裝mysql依賴:

yum install cmakeyum install ncurses-devel

2、下載MySQL的源碼安裝包並解壓:

mysql:  http://distfiles.macports.org/mysql5/
tar -zxvf  mysql-5.5.21.tar.gz

3、建立mysql的安裝目錄及資料庫存放目錄

mkdir -p /work/installed/mysql   安裝目錄              mkdir -p /work/installed/mysql/data  資料庫存放目錄

4、建立mysql使用者及使用者組

groupadd mysql
useradd -r -g mysql mysql

5、安裝MySQL:

進入解壓包檔案夾內執行:

cmake . -DCMAKE_INSTALL_PREFIX=/work/installed/mysql -DMYSQL_DATADIR=/work/installed/mysql/data  -DDEFAULT_CHARSET=utf8-DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DENABLED_LOCAL_INFILE=1

cmake . -DCMAKE_INSTALL_PREFIX=/work/installed/mysql -DMYSQL_DATADIR=/work/installed/mysql/data  -DDEFAULT_CHARSET=utf8-DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DENABLED_LOCAL_INFILE=1

其中:/work/installed/mysql為MySQL的安裝目錄,這個可以自訂,自己喜歡裝哪就裝到哪裡。

參數說明:-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                        //允許從本地匯入資料

下面依次執行:

makemake install

如果出現錯誤:

錯誤: ./bin/mysqld: Character set ‘utf8-DDEFAULT_COLLATION=utf8_general_ci‘ is not a compiled character set and is not specified in the ‘/work/installed/mysql/share/charsets/Index.xml‘ file

錯誤: ./bin/mysqld: Character set ‘utf8-DDEFAULT_COLLATION=utf8_general_ci‘ is not a compiled character set and is not specified in the ‘/work/installed/mysql/share/charsets/Index.xml‘ file

是字元集和字元衝突了,所以編譯的時候要把字元和字元集選項都加上,並且要相容!修改編譯參數:

那麼執行此條命令:

cmake -DCMAKE_INSTALL_PREFIX=/work/installed/mysql -DEXTRA_CHARSETS=all -DENABLED_LOCAL_INFILE=1 -DWITH_READLINE=1 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EMBEDDED_SERVER=1 -DWITH_SSL=system

cmake -DCMAKE_INSTALL_PREFIX=/work/installed/mysql -DEXTRA_CHARSETS=all -DENABLED_LOCAL_INFILE=1 -DWITH_READLINE=1 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EMBEDDED_SERVER=1 -DWITH_SSL=system

注意,如果重新編譯或者編譯出錯了:

注意事項:重新編譯時間,需要清除舊的對象檔案和緩衝資訊。# make clean# rm -f CMakeCache.txt# rm -rf /etc/my.cnf

然後再:make , make install即可。

6、設定目錄許可權

在安裝好的mysql目錄下執行命令:

 chown -R root:mysql .   //把目前的目錄中所有檔案的所有者所有者設為root,所屬組為mysql chown -R mysql:mysql data
7、將mysql的啟動服務添加到系統服務中
cp support-files/my-medium.cnf /etc/my.cnf 
8、建立系統資料庫的表
scripts/mysql_install_db --user=mysql

9、設定環境變數

 
# vi /root/.bash_profile

在PATH=$PATH:$HOME/bin添加參數為:

PATH=$PATH:$HOME/bin:/usr/local/mysql/bin:/usr/local/mysql/lib

# source /root/.bash_profile

10、啟動mysql

 
法1:
在mysql安裝好的目錄下執行來啟動MySQL:
./bin/mysqld_safe --user=mysql &  

開機記錄寫在此檔案下:/work/installed/mysql/data/localhost.err 目錄個人而異,自己的安裝目錄

法2:
cp support-files/mysql.server  /etc/init.d/mysql //將mysql的啟動服務添加到系統服務中
# service mysql.server start 

# service mysql.server stop

# service mysql.server restart

另外關閉MySQL服務的命令是:
mysqladmin -u root -p shutdown  

11、修改MySQL的root使用者的密碼以及開啟遠端連線

 
# mysql -u root mysql

mysql>use mysql;
mysql>desc user;
mysql> GRANT ALL PRIVILEGES ON *.* TO [email protected]"%" IDENTIFIED BY "root";  //為root添加遠端連線的能力。
mysql>update user set Password = password(‘xxxxxx‘) where User=‘root‘; //這裡的XXXX為自己輸入的MySQL密碼,root使用者
mysql>select Host,User,Password from user where User=‘root‘;
mysql>flush privileges;
mysql>exit

重新登入:mysql -u root -p

若還不能進行遠端連線,則關閉防火牆
[[email protected] rhel5~]# /etc/rc.d/init.d/iptables stop

12、12-1、測試MySQL並將MySQL與php結合起來

登入mysql: mysql -u root -p

輸入密碼:mysql(輸入自己設定的mysql密碼)

下面建立資料庫,建立表,插入資料:

mysql> create database test1;mysql> use test1;mysql> create table student(id int(4) not null primary key auto_increment,name char(20));mysql> insert into student(name) values(‘Tom‘);    

這裡插入了TOM的名字,接下來配置php,以及編寫發布的首頁內容:

重新設定php:

./configure --prefix=/work/installed/php  --with-apxs2=/work/installed/apache/bin/apxs --with-mysqli=/work/installed/mysql/bin/mysql_config

這裡的php安裝路徑是自己原來配置安裝好的,根據自己的情況而定。上一篇PHP配置:http://www.cnblogs.com/xiaobo-Linux/p/4637775.html

Apache配置:http://www.cnblogs.com/xiaobo-Linux/p/4637056.html

 然後在php的源碼解壓包裡面執行:

make

make install

最後重啟Apache:在Apache安裝好的目錄下執行restart: /work/installed/apache/bin/apachectl restart
 

12-2、在Apache的發布首頁的目錄下編寫index.php這個檔案。

我的發布目錄是:/home/web/index.php

編寫php:vim index.php:

內容如下,目的是讓它顯示剛剛插入的TOM的資料:

<?php   $mysql=new mysql();  $mysql->connect(‘localhost‘,‘root‘,‘mysql‘,‘test1‘);   // 建立查詢   $sqlstr=‘select * from student‘;  //發送查詢給MySql   $result=$mysql->query($sqlstr);    while($row=$result->fetch_object())    {       $name=$row->name;       echo $name;    }?>

再重啟一下Apache吧:

./apachectl restart

如果顯示Tom的話說明mysql成功!

 

到此mysql安裝完成!lamp===Apache+mysql+php也搭建成功!

mysql源碼包手動安裝、配置以及測試(親測可行)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.