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軟件,我這裏已經下載好,放在電腦硬盤裏,把它共享出來。
將下載的mysql源碼包解壓,釋放到/opt 下
MySQL5.6需要cmake編譯安裝,所以要先安裝cmake包。
切換到展開後的源碼目錄
配置:
這些都是優化文件,指定放置文件的位置。
在cmake過程中如果出現ncurses報錯,安裝“yum install -y ncurses-devel”這個包解決問題。
當cmake過程中因爲出錯退出後,修正了問題,再次cmake之前要執行rm CMakeCache.txt將緩存清除。
出現這樣的界面說明已經成功,就等待它編譯安裝完成。等待的時間可能會比較久。
創建運行賬戶,建立一個空目錄,對數據庫目錄進行權限設置。
chown -R mysql.mysql /usr/local/mysql//這個命令的作用是如果前面已經做過的這個命令,則執行完make && make install 這個命令之後須要執改/usr/local/目錄下的mysql這個目錄的屬主與屬組。
建立配置文件
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/myspld到chkconfig裏,用service命令來管理(service mysql)
初始化腳本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
ln -s /var/lib/mysql/mysql.sock /home/mysql/mysql.sock
//源文件是/var/lib/mysql/mysql.sock,鏈接的文件是/home/mysql/mysql.sock
以上所有的配置完了之後,一定要用“source /root/.bash_profile”這個命令來對初始腳本重新加載,這樣用mysql這個用戶就能登錄了
MySQL數據庫的默認端口是3306.
這樣數據庫就安裝完成了。
訪問MySQL數據庫
1.經過安裝後的初始化過程,MySQL數據庫的默認管理員爲“root”密碼爲空。
2.給MySQL數據庫設置密碼
使用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(主鍵名)
插入數據記錄:
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'));
3.查詢數據記錄:
SELECT 字段1,字段2...FROM 表名 WHERE 條件表達式
查詢某個用戶的的數據
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 條件表達式
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 條件表達式
mysql> DELETE FROM users WHERE user_name='lisi'; //刪除lisi用戶
mysql> DROP TABLE users; //刪除一個表
mysql> DROP DATABASE benet; //刪除數據庫
維護MySQL數據庫
1.數據庫的用戶授權:
授予權限
GRANT 權限列表 ON 庫名.表名 TO 用戶名@來源地址 【 IDENTIFIED BY ‘密碼’ 】
查看權限
SHOW GRANTS FOR 用戶名@來源地址
撤銷權限
REVOKE 權限列表 ON 數據庫名.表名 FROM 用戶名@來源地址
數據庫的備份與恢復
# 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
//備份mysql的user表
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還原到數據庫中