您好,登錄后才能下訂單哦!
下文內容主要給大家帶來Centos是如何安裝MySQL數據庫的,這里所講到的知識,與書籍略有不同,都是億速云專業技術人員在與用戶接觸過程中,總結出來的,具有一定的經驗分享價值,希望給廣大讀者帶來幫助。
一、MySQL服務基礎
MySQL是一個真正的多線程,多用戶的SQL數據庫服務,憑借其高性能、高可靠和易于使用的特性,成為云服務器領域中最受歡迎的開源數據庫系統。
MySQL項目在08年以前是由MySQL AB公司進行開發、發布和支持,之后歷經Sun公司收購MySQL AB公司,Oracle公司收購Sun公司的過程,目前MySQL項目由Oracle公司負責運營和維護。
為了確保MySQL數據庫功能的完整性、可定制性,我采用了源代碼編譯安裝的方式安裝MySQL數據庫系統,MySQL5.X系列版本的使用最為廣泛,該版本的穩定性、兼容性都不錯,下載源碼包的官方站點為 https://www.mysql.com 。
下載安裝所需軟件包:https://pan.baidu.com/s/1vMP72gT6oELBb5eKNTbhNw
提取碼:gxtf
[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-->
[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
<!--初始化管理數據的賬戶數據庫位置和數據位置-->
[root@centos01 ~]# systemctl enable mysqld <!--設置開機自動啟動-->
[root@centos01 ~]# systemctl start mysqld <!--啟動MySQL服務-->
[root@centos01 ~]# netstat -anptu | grep 3306 <!--監聽mysql服務是否啟動-->
MySQL數據庫系統是一個典型的C/S(客戶端/服務器)架構的應用。要訪問MySQL數據庫需要使用專門的客戶端軟件。在Linux系統中,最簡單、易用的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 <!--斷開數據庫連接-->
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記錄-->
MySQL數據庫的root用戶賬號擁有對所有庫、表的全部權限,頻繁使用root賬號會給數據庫服務器帶來一定的安全風險。通常在實際工作中會建立一些低權限的用戶,只負責一部分庫、表的管理和維護操作,甚至可以對查詢、修改、刪除記錄等各種操作做進一步的細化限制,從而將數據庫的風險降至最低。
GRANT語句:專門用來設置數據庫用戶的訪問權限。當指定的用戶名不存在時,GRANT語句將會創建新的用戶,否則,GRANT語句用于修改用戶信息。
語句格式如下:
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'; <!--取消授權-->
對于以上關于Centos是如何安裝MySQL數據庫的,如果大家還有更多需要了解的可以持續關注我們億速云的行業推新,如需獲取專業解答,可在官網聯系售前售后的,希望該文章可給大家帶來一定的知識更新。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。