1. 程式人生 > >MySQL資料庫編譯過程

MySQL資料庫編譯過程

編譯安裝MySQL

  1. 準備工作 
    解除安裝rpm方式安裝的mysql-server、mysql 
    安裝ncurses-devel和cmake包 
    yum -y install ncurses-devel cmake 
    tar xf cmake-2.8.6.tar.gz -C /usr/src 
    cd /usr/src/cmake-2.8.6/ 
    ./configure && gmake && gmake install 
    這個過程需要時間
  2. 原始碼編譯及安裝 
    增加程式使用者mysql 
    useradd -M -s /sbin/nologin mysql 
    解壓mysql-5.5.22.tar.gz 
    tar xf mysql-5.5.22.tar.gz -C /usr/src 
    cmake配置,編譯及安裝 
    cd /usr/src/mysql-5.5.22/ 
    cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all && make && make install
  3. 安裝後的優化操作 
    修改mysql安裝目錄的屬主與屬組 
    chown -R mysql:root /usr/local/mysql/ 
    建立修改my.cnf配置檔案 
    /bin/cp support-files/my-medium.cnf /etc/ 
    新增系統服務 
    cp support-files/mysql.server /etc/init.d/mysqld 
    chmod +x /etc/init.d/mysqld 
    chkconfig mysqld --add 
    chkconfig mysqld --list 
    新增MySQL命令執行的路徑到PATKH環境變數 
    echo "export PATH=PATH 檢視環境變數是否新增成功

更簡單的設定方法為用下面命令做軟連結:ln -s /usr/local/mysql/bin/* /usr/local/sbin/,把mysql命令說在路徑連結到全域性路徑/usr/local/sbin/的下面。

執行 mysql_install_db指令碼初始化資料庫 
/usr/localmydql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/

--basedir=/usr/local/mysql為MySQL的安裝路徑,--datadir為不同的例項資料目錄

啟動MySQL服務,並檢視執行狀態 
/etc/init.d/mysqld start 
netstat -anpt |grep :3306 
設定資料庫使用者名稱密碼 
mysqladmin -uroot password '密碼'

MySQL資料庫的分類及資料庫操作

資料庫簡單的分為兩種:

關係型資料庫----------->mysql和Oracle 
非關係型資料庫--------->Memcached和Redis 
訊息佇列中介軟體

什麼叫做關係型資料庫?SQL資料庫

資料和資料之間是有關係的,通過關係能夠將一系列資料都提取出來。

什麼是非關係型資料庫?NoSQL資料庫(NotonlySQL)

資料和資料之間沒有關係

關係型資料庫MySQL和Oracle有什麼區別?

其實,這兩類資料庫在使用方式上大體是沒有太多的區別。都是基於SQL查詢方式的資料庫。但是Oracle是閉源的,出了問題有人管,因此,運維並不需要花太多精力在Oracle,在企業裡可以學。MySQL是開源的,免費的,自然需要運維來維護的,但是通常來說,真正的資料庫維護人員的職位叫做DBA=database administrator,他並不是廣泛意義上的運維,只是資料庫專業運維。市面上還有一種關係型資料庫,叫做Maria DB,他和MySQL有什麼關係?MySQL資料庫最早是開源的,他和Maria幾乎是一樣的。

B/S架構模式與C/S架構模式的區別?

B/S=====>Web/server 
使用者通過Web瀏覽器開啟輸入域名就能夠訪問伺服器Server的方式叫做B/S,使用者不需要安裝任何東西 
C/S====>client/Server 
所謂客戶端在使用者的電腦裡是需要下載並安裝的。

 

MySQL資料表

資料表以檔案的形式展現,MySQL資料表由兩部分組成:賬戶名@登陸IP 
describe 表名 查看錶的欄位資訊 
四種對資料表進行SQL語句 
增:inset into 表名[欄位名] values 具體數值 
刪:delete from 表名 where 條件 
改:update 表名 set 欄位=‘數值’ 
查:select 欄位名 from 表名 
show databases 檢視所有的庫 
create database 建立庫 
drop database 刪除庫 
show tables 檢視所有的表(先切換到這個表) 
小庫其實就是data目錄下的子目錄,開發管小庫叫空間,小庫的名字叫做空間名,空間名.表名 
flush privileges 重新整理 立即生效 
updata 表名 set password=password(‘密碼’) where host=‘localhost’修改密碼

 

MySQL使用者許可權

grant 使用者許可權設定 
grant all on . to '使用者名稱'@'登陸IP' IDENTIFIED BY '密碼'(第一個所有的庫,第二個所有的表) 
show grant 檢視本地的使用者許可權 
show grant for '使用者名稱'@'登陸IP' 檢視別人的使用者許可權 
revoke 許可權型別 on 庫名錶名 from '使用者名稱'@'登陸IP' 撤銷許可權 
%代表任意所有 
代表任意一個字元 
192.168.200.% 代表200網段的所有地址 
192.168.200.
代表1-9任意一個地址