Centos安裝MySQL數據庫

1、MySQL服務基礎
2、MySQL的編譯安裝
3、訪問MySQL數據庫
4、使用MySQL數據庫mysql

1、MySQL服務基礎

MySQL是一個真正的多線程,多用戶的SQL數據庫服務,憑藉其高性能、高可靠和易於使用的特性,成爲服務器領域中最受歡迎的開源數據庫系統。sql

MySQL項目在08年之前是由MySQL AB公司進行開發、發佈和支持,以後歷經Sun公司收購MySQL AB公司,Oracle公司收購Sun公司的過程,目前MySQL項目由Oracle公司負責運營和維護。數據庫

2、MySQL的編譯安裝

爲了確保MySQL數據庫功能的完整性、可定製性,我採用了源代碼編譯安裝的方式安裝MySQL數據庫系統,MySQL5.X系列版本的使用最爲普遍,該版本的穩定性、兼容性都不錯,下載源碼包的官方站點爲 https://www.mysql.comvim

一、準備工做

下載安裝所需軟件包:https://pan.baidu.com/s/1vMP72gT6oELBb5eKNTbhNw
提取碼:gxtf
centos

[root@centos01 ~]# mount /dev/cdrom /mnt/   <!--掛載系統光盤-->
[root@centos01 ~]# groupadd mysql   <!--建立管理mysql的組-->
[root@centos01 ~]# useradd -M -s /sbin/nologin mysql -g mysql  <!--建立管理mySQL數據庫的用戶  -->
[root@centos01 ~]# rm -rf /etc/yum.repos.d/CentOS-*   <!--刪除yum源裏全部以Centos開頭的文件-->
[root@centos01 ~]# yum -y install ncurses-devel   <!--安裝mysql依賴程序ncurses-devel-->

二、安裝cmake包

[root@centos01 ~]# umount /mnt/  <!--卸載光盤,切換Linux光盤-->
[root@centos01 ~]# mount /dev/cdrom /mnt/  <!--掛載Linux光盤-->
[root@centos01 ~]# mount /dev/cdrom /mnt/   <!--解壓縮編譯mysql工具cmake-->
[root@centos01 ~]# cd /usr/src/cmake-2.8.6/   <!--進入cmake目錄-->
[root@centos01 cmake-2.8.6]# ./configure   <!--配置cmake-->
[root@centos01 cmake-2.8.6]# gmake && gmake install   <!--編譯安裝cmake程序-->

三、源碼編譯及安裝

[root@centos01 ~]# tar zxvf /mnt/mysql-5.5.22.tar.gz -C /usr/src/ <!--解壓mysql程序-->
[root@centos01 ~]# cd /usr/src/mysql-5.5.22/    <!--進入mysql目錄-->
[root@centos01 mysql-5.5.22]#cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql 
-DDEFAULT_CHARSET=utf8 
-DDEFAULT_COLLATION=utf8_general_ci 
-DWITH_EXTRA_CHARSETS=all 
-DSYSCONFDIR=/etc    <!--配置mysql程序-->
[root@centos01 mysql-5.5.22]# make && make install    <!--編譯安裝mysql-->

上述配置命令中,各選項的含義以下:安全

  • -DCMAKE_INSTALL_PREFIX:指定MyQSL數據庫程序安裝到某目錄下,如目錄/usr/local/mysql。
  • -DSYSCONFDIR:指定初始化參數文件目錄。
  • -DDEFAULT_CHARSET:指定默認使用的字符集編碼,如utf-8。
  • -DDEFAULT_COLLATION:指定默認使用的字符集校對規則,utf8_general_ci是適用於utf-8字符集的通用規則。
  • -DWITH_EXTRA_CHARSETS:指定額外支持的其餘字符集編碼。

四、安裝後其餘調整

[root@centos01 ~]# chown -R mysql:mysql /usr/local/mysql/ <!--設置安裝目錄數據的全部者-->
[root@centos01 ~]# cd /usr/src/mysql-5.5.22/  <!--進入mysql目錄-->
[root@centos01 mysql-5.5.22]# cp support-files/my-medium.cnf /etc/my.cnf    <!--生成mysql服務配置文件-->
cp:是否覆蓋"/etc/my.cnf"? y     <!--輸入y-->
[root@centos01 ~]# vim /etc/profile    <!--設置環境變量-->
# /etc/profile      
PATH="$PATH:/usr/local/mysql/bin/"  
[root@centos01 ~]# source /etc/profile     <!--當即生效-->
[root@centos01 mysql-5.5.22]# cp support-files/mysql.server /etc/init.d/mysqld    <!--生成mysql系統服務控制文件-->
[root@centos01 mysql-5.5.22]# chmod +x /etc/init.d/mysqld   <!--設置服務的執行權限-->
[root@centos01 ~]# chkconfig --add mysqld  <!--添加系統服務-->
[root@centos01 ~]# chkconfig --level 35 mysqld on   <!--添加系統服務-->
[root@centos01 ~]#/usr/local/mysql/scripts/mysql_install_db 
--user=mysql --basedir=/usr/local/mysql 
--datadir=/usr/local/mysql/data        
<!--初始化管理數據的帳戶數據庫位置和數據位置-->

五、啓動MySQL服務

[root@centos01 ~]# systemctl enable mysqld  <!--設置開機自動啓動-->
[root@centos01 ~]# systemctl start mysqld    <!--啓動MySQL服務-->
[root@centos01 ~]# netstat -anptu | grep 3306    <!--監聽mysql服務是否啓動-->

3、訪問MySQL數據庫

MySQL數據庫系統是一個典型的C/S(客戶端/服務器)架構的應用。要訪問MySQL數據庫須要使用專門的客戶端軟件。在Linux系統中,最簡單、易用的MySQL客戶端軟件是其自帶的mysql命令工具。服務器

一、登陸到MySQL服務器

通過安裝後的初始化過程,MySQL數據庫的默認管理員用戶名爲root,密碼爲空。
登陸成功後將會進入提示符爲「mysql>」的數據庫操做環境,用戶能夠輸入各類操做語句對數據庫進行管理。每條MySQL操做語句以分號「;」表示結束,輸入時能夠不區分大小寫。多線程

[root@centos01 ~]# mysql -u root -p  <!--「-u」選項用於指定認證用戶,
「-p」選項來進行密碼校驗,默認root密碼爲空,回車鍵便可登陸-->
New password:        <!--Enter鍵-->
mysql> exit           <!--斷開鏈接-->
[root@centos01 ~]# mysqladmin -u root password     <!--給數據庫root用戶設置密碼-->
New password:                <!--輸入密碼-->
Confirm new password:    <!--確認密碼-->
[root@centos01 ~]# mysql -u root -p    <!--root用戶鏈接數據庫-->
Enter password:          <!--輸入密碼-->
mysql> quit           <!--斷開數據庫鏈接-->

4、使用MySQL數據庫

mysql> show databases;   <!--查看數據庫-->
mysql> use myqsl;         <!--切換數據庫mysql庫中-->
mysql> show tables;        <!--查看mysql庫中的表-->
mysql> describe user;      <!--查看錶的結構-->
mysql> create database bdqn;         <!--新建數據庫名字是bdqn-->
mysql> drop database bdqn;        <!--刪除數據庫bdqn-->
mysql> create table stuinfo(姓名 char(16),性別 char(10),年齡 char(10),聯繫電話 char(11),Email地址 char(20));     <!--建立表,表名字是stuinfo,第一列名字是姓名,第二列名字爲性別,第三列名字爲年齡,第四列名字爲聯繫電話,第五列名字爲Email地址-->
mysql> drop table stuinfo;      <!--刪除表stuinfo-->
mysql> insert into stuinfo (姓名,性別,年齡,聯繫電話,Email地址) value ('李焱鑫',’男’,’20’,'18232013151',’2807489749@qq.com’);
!--stuinfo表插入數據-->
mysql> insert into stuinfo value ('吳大狼','男','19','11111111111','11111111@qq.com');   
<!--第二種方式插入數據-->
mysql> insert into stuinfo value ('張航','男','15','22222222222','22222222@qq.com');     
<!--第二種方式插入數據-->
mysql> insert into stuinfo value ('曾憲猴','男','8','33333333333','33333333@qq.com');    
<!--第二種方式插入數據-->
mysql> select * from stuinfo;        <!--查看數據庫表的全部數據-->
+-----------+--------+--------+--------------+-------------------+
| 姓名      | 性別   | 年齡   | 聯繫電話     | Email地址         |
+-----------+--------+--------+--------------+-------------------+
| 李焱鑫    | 男     | 20     | 18232013151  | 2807489749@qq.com |
| 吳大狼    | 男     | 19     | 11111111111  | 11111111@qq.com   |
| 張航      | 男     | 15     | 22222222222  | 22222222@qq.com   |
| 曾憲猴    | 男     | 8      | 33333333333  | 33333333@qq.com   |
+-----------+--------+--------+--------------+-------------------+         
mysql> select * from stuinfo where 姓名='李焱鑫';   <!--使用條件查詢知足條件顯示 -->
+-----------+--------+--------+--------------+-------------------+
| 姓名      | 性別   | 年齡   | 聯繫電話     | Email地址         |
+-----------+--------+--------+--------------+-------------------+
| 李焱鑫    | 男     | 20     | 18232013151  | 2807489749@qq.com |
+-----------+--------+--------+--------------+-------------------+
mysql> update stuinfo set 姓名='LiYanXin' where 姓名='李焱鑫';   <!--修改中文名字爲英文-->
mysql> delete from stuinfo where 姓名='LiYanXin';   <!--刪除LiYanXin記錄-->

5、數據庫用戶受權

MySQL數據庫的root用戶帳號擁有對全部庫、表的所有權限,頻繁使用root帳號會給數據庫服務器帶來必定的安全風險。一般在實際工做中會創建一些低權限的用戶,只負責一部分庫、表的管理和維護操做,甚至能夠對查詢、修改、刪除記錄等各類操做作進一步的細化限制,從而將數據庫的風險降至最低。架構

一、授予權限

GRANT語句:專門用來設置數據庫用戶的訪問權限。當指定的用戶名不存在時,GRANT語句將會建立新的用戶,不然,GRANT語句用於修改用戶信息。ide

語句格式以下:
GRANT 權限列表 ON 庫名.表名 TO 用戶名@來源地址 [ IDENTIFIED BY '密碼' ]

使用GRANT語句時,須要注意的事項以下:

  • 權限列表:用於列出受權使用的各類數據庫操做,以逗號進行分隔,Select 容許查詢;Insert 插入數據;Update 更新數據;Delete 刪除數據;All 給全部權限,增長刪改查;使用「all」表示全部權限,可受權執行任何操做。
  • 庫名.表名:用於指定受權操做的庫和表的名稱,其中可使用通配符「」。「auth.」表示受權操做的對象爲auth庫中的全部表。
  • 用戶名@來源地址:用於指定用戶名稱和容許訪問的客戶機地址,即誰能鏈接、能從哪裏鏈接。來源地址能夠是域名、IP地址,還可使用「%」通配符,表示某個區域或網段內的全部地址。
  • IDENTIFIED BY:用於設置用戶鏈接數據庫時所使用的密碼字符串。在新建用戶時,若省略「IDENTIFIED BY」部分,則用戶的密碼將爲空。
mysql> grant all on bdqn.* to 'rundb'@'localhost' identified by 'pwd@123';   <!--受權用戶rundb對bdqn數據庫中全部表有徹底控制權限-->
mysql> show grants for 'rundb'@'localhost';   <!--查看受權的權限-->
mysql> revoke all on bdqn.stuinfo from 'rundb'@'localhost';  <!--取消受權-->

—————— 本文至此結束,感謝閱讀 ——————

相關文章
相關標籤/搜索