天天看點

MySQL服務基礎

MySQL是一個真正的多線程,多使用者的SQL資料庫服務,憑借其高性能,高可靠和易于使用的特性,成為伺服器領域中最受歡迎的開源資料庫系統。

一.mysql的編譯安裝

  為了避免發生端口沖突,程式沖突等現象,建議先查詢mysql軟體的安裝情況,确認沒有以rpm     方式安裝的mysql-server,mysql軟體包,否則建議将其解除安裝。

    rpm  –q mysql-server mysql

    rpm –ivh ncurses-devel-5.7-3.20090208.e16_64.rpm  //安裝CD光牒自帶的ncurses-devel包

    mysql 5.5需要cmake編譯安裝,是以先安裝cmake包

    tar zxfcmake-2.8.6.tar.gz

    cd cmake-2.8.6

    ./configure&& gmake && gmake install

  建立運作使用者

    groupadd mysql

    useradd –M –s/sbin/nologin mysql –g mysql

  解包

    tar zxfmysql-5.5.22.tar.gz   -C /usr/src

    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_CHATSETS=all  && make  && make  install

上述配置指令中,各選項的含義如下:

    –DCMAKE_INSTALL_PREFIX:指定将mysql安裝到某目錄下

    –DSYSCONFDIR:指定初始化參數檔案目錄

    –DDEFAULT_CHARSET:指定預設使用的字元集編碼,如utf8

    –DDEFAULT_COLLATION:指定預設使用的字元集校對規則,utf8_general_ci适用于UTF-8字元集的通用規則

    -DWITH_EXTRA_CHATSETS:指定額外支援的其他字元集編碼

二.安裝後的其他調整

    1.對資料庫目錄進行權限設定

      chown–R mysql:mysql /usr/local/mysql

    2.建立配置檔案

     cp/usr/src/mysql-5.5.22/support-files/my-medium.cnf   /etc/my.cnf

    3.初始化資料庫

     為了能夠正常使用mysql資料庫系統,應以運作使用者mysql的身份執行初始化腳本mysql_install_db,指定資料庫存放目錄。

     執行如下指令:

      /usr/local/mysql/scripts/mysql_insatll_db   --user=mysql --basedir=/usr/local/mysql

- -datadir=/usr/local/mysql/data

    4.設定變量環境

      echo“PATH=$PATH:/usr/local/mysql/bin” >>  /etc/profile

      . /etc/profile

三.添加系統服務

     cp/usr/src/mysql-5.5.22/support-files/mysql.server  /etc/init.d/mysqld

     chmod+x /etc/init.d/mysqld

     chkconfig  --add mysqld

     servicemysqld start

     netstat–anpt |grep mysqld   //端口号3306(可以在/etc/my.cnf中[mysql]配置段的“port=3306”修改端口)

四.登陸到mysql伺服器

     mysqladmin  –u root password 123456     //更改資料庫密碼為123456

     mysql  -u root -p    //使用-p進行密碼效驗

五.執行mysql操作語句

    1.檢視資料庫伺服器的日志檔案資訊

      SHOWMASTER LOGS;

    2.檢視目前伺服器中有哪些庫

      SHOWDATABASES;

    3.檢視目前使用的庫中有哪些表

      USE  test;   //切換到test庫中

     SHOW  TABLES;

   4.檢視表的結構

     DESCRIBEuser;

   5.建立新的庫

    CREATEDATABASE  auth;

   6.建立新的表

    CREATE TABLE 表名(字段1名稱類型,字段2 類型,……,PRIMARY KEY (主鍵名));

    CREATE TABLE users (user_name CHAR(16) NOT NULL,  user_passwd CHAR(48)  DEFAULT     ‘’, PRIMARY KEY (user_name));  //建立一個users表 “使用者名”為不超過16個位元組的字

    符串,不能為空,後面密碼段類似。

    7.删除一個資料表

    DROP TABLE auth.users;

   8.删除一個資料庫

    DROP TABLE auth

   9.向表中插入資料記錄

    INSERT INTO 表名(字段1,字段2……,) VALUES(字段1的值,….);

    INSERT INTO users(user_name,user_passwd)  VALUES(‘zhangsan’,              PASSWORD(‘123456’));

    10.查詢資料記錄

    SELECT 字段名1,字段名2…….., FROM 表名 WHERE 條件表達式

    Select * from auth.users   //檢視auth庫中users表的所有記錄

    SELECT user_name,user_passwd FROM auth.users whereuser_name=’zhangsan’;        //  查詢users表中使用者名為zhangsan的記錄

   11.修改資料記錄

    UPDATE 表名 SET 字段名1=字段值1[,字段名2=字段值2] WHERE 條件表達式

    UPDATE auth.users SET user_passwd=PASSWORD(‘’) WHEREuser_name=’lisi’;//吧users

    表中lisi的密碼改為空

   12.删除資料記錄

    DELETE FROM 表名 WHERE 條件表達式

    DELETE FROM auth.users WHERE user_name=’lisi’        //删除lisi的記錄

   13.授予權限

    GRANT     權限清單 ON 庫名.表名 TO 使用者名@來源位址 [TDENTIFIED BY ‘密碼’]

      a.權限清單:用于列出授權使用的各種資料庫操作。

     b.庫名.表名:用于指定授權操作的庫和表的名稱。

     c.使用者名@來源位址:用于指定使用者名和允許通路的客戶機位址

    d TDENTIFIED BY:用于 設定使用者連接配接資料庫是所使用的密碼字元串。

    GRANT select ONauth.* TO  ‘carey’@’localhost’ TDENTIFIEDBY ‘123456’;

    14.檢視權限

    SHOW  GRANTS FOR 使用者名@來源位址

    SHOW GRANTS FOR ‘carey’@‘localhost’;

   15.撤銷權限

    REVOKE  權限清單  ON  資料庫名.表名 FROM 使用者名@來源位址

    REVOKE  all ON auth.*FROM ‘carey’@‘localhost‘;

   16.備份資料庫

    A.導出指定庫中的部分表。

        mysqldump [ 選項] 庫名[表名1]  [表名2].。。。。> /備份路徑/備份檔案名

        mysqldump –u root  -pmysql user > mysql-user.sql

    B.mysqldump [ 選項] - –databases [庫名1]  [庫名2].。。。。> /備份路徑/備份檔案名

        mysqldump –u root  -p--databases auth >auth.sql

    C.mysqldump [ 選項] --all –databases > /備份路徑/備份檔案名

    D.mysqldump –u root –p  --opt –all-databases> all-databases.sql

    17.恢複資料庫

        mysql [選項]  [庫名] [表名] < /備份路徑/備份檔案名

        mysql –u root -p  test < mysql-user.sql