1. 程式人生 > >MySQL數據庫編譯過程

MySQL數據庫編譯過程

host 就是 charset 訪問 ace svg database stat memcach

編譯安裝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任意一個地址

MySQL數據庫編譯過程