【中級篇】Linux下搭建MySQL數據庫系統

MySQL數據庫安裝與配置

1.          實驗需求:

1)     使用yum安裝MySQL數據庫

2) MySQL數據庫的基本操作(增、刪、改、查)

3) MySQL數據庫的維護

4) MySQL 數據庫的備份與恢復

2.          實驗環境:

Linux服務器系統版本:Red Hat Enterprise Linux 6.5  IP:192.168.10.20

WIN7系統客戶機: IP: 192.168.10.1

3.      實驗步驟:

基本安裝操作:

 首先要下載MySQL軟件,我這裏已經下載好,放在電腦硬盤裏,把它共享出來。

 

 

wKiom1aR52_QjLbBAABcn1R1Tes930.png 

wKioL1aR562ibZNXAABMVDs8VvE805.png 

將下載的mysql源碼包解壓,釋放到/opt 

wKiom1aR55GhMWlnAAAwvqOqeC0715.png 

wKioL1aR58vz5S0XAAAK7HUvaJ4546.png 

wKioL1aR5-XSKvc-AAAVzFP3BhY324.png 

 MySQL5.6需要cmake編譯安裝,所以要先安裝cmake包。

wKiom1aR58SyNLkMAAAMIt_0HT8271.png 

   切換到展開後的源碼目錄

wKiom1aR5-_xq1mgAAA1lwJ2DE4806.png 

 配置:  

wKioL1aR6C2RVgxTAACKVRGf9og516.png 

 

這些都是優化文件,指定放置文件的位置。

 

cmake過程中如果出現ncurses報錯,安裝“yum install -y ncurses-devel”這個包解決問題。

cmake過程中因爲出錯退出後,修正了問題,再次cmake之前要執行rm CMakeCache.txt將緩存清除。

wKiom1aR6BKin5TOAABhCO_7UAw462.png 

 

wKioL1aR6Kyy5ZQAAAAK0qu395Q153.png 

wKioL1aR6Obh8UbIAABrW3slpFQ124.png 

出現這樣的界面說明已經成功,就等待它編譯安裝完成。等待的時間可能會比較久。

wKiom1aR6NKRPU0AAAAluP3F4e0274.png 

創建運行賬戶,建立一個空目錄,對數據庫目錄進行權限設置。

wKiom1aR6PTSioS7AACIDPQ7zHs576.png 

chown -R mysql.mysql /usr/local/mysql//這個命令的作用是如果前面已經做過的這個命令,則執行完make && make install 這個命令之後須要執改/usr/local/目錄下的mysql這個目錄的屬主與屬組

wKiom1aR6P_C2AEOAABz6Fv28TI019.png 

wKioL1aR6TrRIshsAABJ4VEuqzw213.png 

 建立配置文件

wKioL1aR6UrDhwV9AAAiHi4IfMs848.png 

 

wKioL1aR6VyRM4RvAACEs3lCsVU217.png 

cp support-files/mysql.server /etc/init.d/mysqld  //添加系統服務,將mysql.server腳本文件複製到/etc/init.d/目錄下,改名爲mysqld,然後設置執行權限

chmod 755 /etc/init.d/mysqld       

chkconfig --add /etc/init.d/mysqld  //添加/etc/init.d/myspldchkconfig裏,用service命令來管理(service mysql

 

wKiom1aR6UvjwTl_AAAj7xab0i4940.png 

 

初始化腳本mysql_install_db位於安裝目錄的scripts文件夾中

/usr/local/mysql/scripts/mysql_install_db \  --user=mysql \

--ldata=/var/lib/mysql \ --basedir=/usr/local/mysql \

--datadir=/home/mysql  //指定用戶爲mysql,鏈接文件是/var/lib/mysql,基本目錄,/usr/local/mysql,數據目錄爲/home/mysql

 

wKioL1aR6YuQeFTEAAA8Kg9xe-w300.png 

ln -s /var/lib/mysql/mysql.sock  /home/mysql/mysql.sock   

//源文件是/var/lib/mysql/mysql.sock,鏈接的文件是/home/mysql/mysql.sock

wKiom1aR6W7DKIJgAAAu-Y-CyZM230.png 

wKioL1aR6a6TZCLXAAAS7-6rdMk827.png 

wKioL1aR6dbRXdMIAAAR0Nix5sE793.png 

以上所有的配置完了之後,一定要用“source /root/.bash_profile”這個命令來對初始腳本重新加載,這樣用mysql這個用戶就能登錄了

 

wKiom1aR6bfxUw8mAABCrjwrPIQ802.png 

wKiom1aR6dSDB9jKAAA6GDqu6w4238.png 

wKioL1aR6g2xrDBsAAA9NmwCNPA556.png 

MySQL數據庫的默認端口是3306.

 

這樣數據庫就安裝完成了。

 訪問MySQL數據庫

 1.經過安裝後的初始化過程,MySQL數據庫的默認管理員爲“root”密碼爲空。

wKiom1aR6oGiMHPSAABlZn6HnkI639.png 

 

2.MySQL數據庫設置密碼

wKioL1aR6sDh54rnAADvTYf95QQ255.png 

 

  使用MySQL數據庫

  1.查看命令:

mysql> show databases;  //查看當前服務器中有哪些庫

mysql> use test;        //切換到所使用的庫

mysql> show tables;    //查看當前使用的庫中有哪些表

mysql> describe user;   //查看錶內容(查看user表裏的內容)

 

  2.新建命令:

CREATE TABLE 表名(字段1,字段2...PRIMARY KEY(主鍵名)

mysql>CREATE DATABASE benet;  //創建數據庫名爲benet

mysql>use benet              //進入benet這個數據庫

mysql> CREATE TABLE users (user_name CHAR(16) NOT NULL,               user_passwd CHAR(48) DEFAULT '', PRIMARY KEY (user_name));  

//創建表名爲users

註釋:“user_name”表示字段1名稱(也就是表格的第一行),“char(16)”表示類型,“not null”表示null值不能爲空 NO

      “user_passwd”表示字段2名稱(也就是表格的第二行),“char(48)”表示類型,“default ''”表示null可以爲空 YES

      “primary key(user_name)”表示primary key(主鍵名)

wKiom1aR6sLhSMbwAACDNj7SsT0690.png 

 插入數據記錄:

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

mysql> INSERT INTO users(user_name,user_passwd) VALUES('zhangsan', PASSWORD('123456'));  //users表中插入內容

mysql> INSERT INTO users VALUES('lisi', PASSWORD('654321'));  //password是用戶爲密碼加密的

mysql> insert into users values('sina',password('123abc'));

wKiom1aR6vyAmRiAAACtHDwzmAA959.png 

 

3.查詢數據記錄:

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

wKiom1aR6xHgRuS9AABOIjnYucY900.png 

  查詢某個用戶的的數據

wKiom1aR6yHDAXrPAAA2-I3i8io001.png 

mysql> SELECT user,host,password FROM mysql.user WHERE user='';

mysql> select * from users;   //查看user表裏的所有信息

mysql> select user from users;  //查看users表裏的user這個用戶字段裏有哪些用戶。

mysql>flush privileges;  //刷新授權信息,

4.修改數據記錄:

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

wKioL1aR61_i-4-fAABKpJZS_94730.png 

wKioL1aR68vw10oGAABov0eg4ls761.png 

mysql> UPDATE users SET user_passwd=PASSWORD('') WHERE user_name='lisi';  //lisi 的密碼設爲空值

mysql> UPDATE mysql.user SET password=PASSWORD('123456') WHERE user='root';  //root的密碼設置爲123456,下次登錄就需要密碼。

5.刪除數據記錄:

DELETE FROM 表名 WHERE 條件表達式

wKiom1aR67iBMGfXAACuindGHSI737.png 

 

mysql> DELETE FROM users WHERE user_name='lisi';  //刪除lisi用戶

mysql> DROP TABLE users;  //刪除一個表

mysql> DROP DATABASE benet;  //刪除數據庫

 

 維護MySQL數據庫

  1.數據庫的用戶授權

 授予權限

 GRANT 權限列表 ON 庫名.表名 TO 用戶名@來源地址 【 IDENTIFIED BY  密碼 】

wKiom1aR687j8KOUAAAyHkROmCk487.png 

 

wKiom1aR6-Dw1CzJAABZiL2kLXw559.png 

wKiom1aR6_3jmSMMAAA5FRslFyk307.png 

wKioL1aR7D6zb9xLAABDmj6wizo787.png 

 查看權限

  SHOW GRANTS  FOR 用戶名@來源地址

 撤銷權限

REVOKE 權限列表 ON 數據庫名.表名 FROM 用戶名@來源地址

wKioL1aR7FGh6XRnAAA74PaGZmI817.png 

wKioL1aR7GLQlk_qAAA15WXhSb4018.png 

 

 

 數據庫的備份與恢復

 

# mysqldump -u root -p --opt --all-databases > all-data.sql   

     //備份所有數據庫

 

# mysqldump -u root -p --database benet > benet.sql     

    //備份benet數據庫

# mysqldump -u root -p mysql user > mysql-user.sql 

   //備份mysqluser

 

  mysql>create database;

# mysql -u root -p test < mysql-user.sql      //將備份還原到test數據庫中。

 

例子:

mysqldump -u root -p --database user > user.sql   //將數據庫中名爲user的數據庫備份出來(備份user這個數據庫)

 

mysql -u root -p  < user.sql      //將備份user數據庫名數據庫user.sql還原到數據庫中

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章