Linux下源碼安裝編譯mysql資料庫

來源:互聯網
上載者:User

標籤:資料庫系統   資料庫管理   具體步驟   mysql   原始碼   

            MySQL是一種開放原始碼的關係型資料庫管理系統(RDBMS),MySQL資料庫系統使用最常用的資料庫管理語言--結構化查詢語言 (SQL)(SQL)進行資料庫管理。


下面是mysql資料庫源碼安裝的具體步驟:

環境:redhat6.5

所需要的包:mysql-boost-5.7.11.tar.gz

        cmake-2.8.12.2-4.el6.x86_64.rpm         #要求cmake版本2.8及其以上

 

##########mysql############

下載安裝包並進行解壓縮:

mysql-boost-5.7.11.tar.gz    cmake-2.8.12.2-4.el6.x86_64.rpm


tar -zxf mysql-boost-5.7.11.tar.gz

rpm -ivh cmake-2.8.12.2-4.el6.x86_64.rpm        #要求cmake版本2.8及其以上

 

對mysql進行編譯

相關參數如下:

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/lnmp/mysql-DMYSQL_DATADIR=/usr/local/lnmp/mysql/data-DMYSQL_UNIX_ADDR=/usr/local/lnmp/mysql/data/mysql.sock-DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MYISAM_STORAGE_ENGINE=1 -DDEFAULT_CHARSET=utf8-DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DDOWNLOAD_BOOST=1 -DWITH_BOOST=boost/boost_1_59_0/

 

PS:-DWITH_BOOST=boost/boost_1_59_0/  這個參數是解壓boost包的位置,根據實際情況進行填寫。


make && make install        #注意make的時候比較慢,要求記憶體至少大於2G,否則後面會出現報錯不通過

PS:這裡也可以使用make -j4 如果你的電腦核心是四個CPU皆可以,但要小心出錯。


建立使用者:

useradd -M -d /usr/local/lnmp/mysql/ -s /sbin/nologin mysql     #為mysql建立使用者

 

編輯設定檔,與命令

cd /usr/local/lnmp/mysql/support-files/

[[email protected] support-files]# cp mysql.server/etc/init.d/mysqld        #將mysql命令加入到/etc/init.d

[[email protected] support-files]# chmod +x /etc/init.d/mysqld       #給mysqld執行許可權

cp my-default.cnf /etc/my.cnf   #用編譯好的設定檔替換mysql原有的設定檔

 

cd /usr/local/lnmp/mysql/

chown mysql.mysql -R .

 mysqld --initialize --basedir=/usr/local/lnmp/mysql/--user=mysql --datadir=/usr/local/lnmp/mysql/data     #產生資料庫的data檔案

650) this.width=650;" src="http://s5.51cto.com/wyfs02/M01/80/38/wKiom1c7w0HwxoZHAAEhLEoHypo924.png" title="1.png" alt="wKiom1c7w0HwxoZHAAEhLEoHypo924.png" />


chown root -R .     #更改相關的檔案使用者與使用者組

chown mysql -R data/        #data目錄 及其下面的檔案使用者


更改完後許可權如下:

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/80/35/wKioL1c7xF2QNV7UAAB6HH_kvUI886.png" title="2.png" alt="wKioL1c7xF2QNV7UAAB6HH_kvUI886.png" />


[[email protected] mysql]# mysql_secure_installation     #mysql保險設定精靈

650) this.width=650;" src="http://s5.51cto.com/wyfs02/M00/80/38/wKiom1c7w5HCXsWQAACGYqg8Xmo011.png" title="3.png" alt="wKiom1c7w5HCXsWQAACGYqg8Xmo011.png" />


編譯環境變數:

vim ~/.bash_profile

650) this.width=650;" src="http://s4.51cto.com/wyfs02/M00/80/35/wKioL1c7xJjxQhb1AABDh_TwJLk109.png" title="4.png" alt="wKioL1c7xJjxQhb1AABDh_TwJLk109.png" />

source  ~/.bash_profile

 

/etc/init.d/mysqld start            #啟動資料庫

 

配置完成,可以正確進入資料庫:

mysql -uroot -p

650) this.width=650;" src="http://s1.51cto.com/wyfs02/M01/80/35/wKioL1c7xLnD1Z4sAACUgxb83VI979.png" title="5.png" alt="wKioL1c7xLnD1Z4sAACUgxb83VI979.png" />


上面已經完成了mysql資料庫的源碼安裝,接下來趕緊使用一下吧!



一下為幾種資料庫基本語句的使用:

常用的mysql命令:

登陸:
mysql –u使用者名稱 [–h主機名稱或者IP地址] –p密碼

更改root的密碼:
use mysql 
update user set password=PASSWORD(‘新密碼‘) whereuser=‘root‘;
flush privileges;

建立使用者並授權:
insert into mysql.user(Host,User,Password)values("localhost","使用者名稱",password("密碼"));
flush privileges;  
grant all privileges on 表名.* to 使用者名稱@localhost identified by ‘密碼‘; 

刪除使用者:
Delete FROM mysql.user Where User=‘使用者名稱‘ andHost=‘localhost‘;
flush privileges;

修改使用者密碼:
update mysql.user set password=password(‘新密碼‘) where User="使用者名稱" and Host="localhost";  

更改資料庫:
use database_name 

匯入資料庫檔案:
source C:\Users\Administrator\Desktop\資料庫檔案.sql
 
查看所有表:
show tables;




本文出自 “ptallrights” 部落格,請務必保留此出處http://ptallrights.blog.51cto.com/11151122/1774591

Linux下源碼安裝編譯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.