成都創(chuàng)新互聯(lián)于2013年創(chuàng)立,先為撫寧等服務建站,撫寧等地企業(yè),進行企業(yè)商務咨詢服務。為撫寧企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務解決您的所有建站問題。
下文內(nèi)容主要給大家?guī)鞢entos是如何安裝MySQL數(shù)據(jù)庫的,這里所講到的知識,與書籍略有不同,都是創(chuàng)新互聯(lián)專業(yè)技術人員在與用戶接觸過程中,總結(jié)出來的,具有一定的經(jīng)驗分享價值,希望給廣大讀者帶來幫助。
一、MySQL服務基礎
MySQL是一個真正的多線程,多用戶的SQL數(shù)據(jù)庫服務,憑借其高性能、高可靠和易于使用的特性,成為云服務器領域中最受歡迎的開源數(shù)據(jù)庫系統(tǒng)。
MySQL項目在08年以前是由MySQL AB公司進行開發(fā)、發(fā)布和支持,之后歷經(jīng)Sun公司收購MySQL AB公司,Oracle公司收購Sun公司的過程,目前MySQL項目由Oracle公司負責運營和維護。
為了確保MySQL數(shù)據(jù)庫功能的完整性、可定制性,我采用了源代碼編譯安裝的方式安裝MySQL數(shù)據(jù)庫系統(tǒng),MySQL5.X系列版本的使用最為廣泛,該版本的穩(wěn)定性、兼容性都不錯,下載源碼包的官方站點為 https://www.mysql.com 。
下載安裝所需軟件包:https://pan.baidu.com/s/1vMP72gT6oELBb5eKNTbhNw
提取碼:gxtf
[root@centos01 ~]# mount /dev/cdrom /mnt/
[root@centos01 ~]# groupadd mysql
[root@centos01 ~]# useradd -M -s /sbin/nologin mysql -g mysql
[root@centos01 ~]# rm -rf /etc/yum.repos.d/CentOS-*
[root@centos01 ~]# yum -y install ncurses-devel
[root@centos01 ~]# umount /mnt/
[root@centos01 ~]# mount /dev/cdrom /mnt/
[root@centos01 ~]# mount /dev/cdrom /mnt/
[root@centos01 ~]# cd /usr/src/cmake-2.8.6/
[root@centos01 cmake-2.8.6]# ./configure
[root@centos01 cmake-2.8.6]# gmake && gmake install
[root@centos01 ~]# tar zxvf /mnt/mysql-5.5.22.tar.gz -C /usr/src/
[root@centos01 ~]# cd /usr/src/mysql-5.5.22/
[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
[root@centos01 mysql-5.5.22]# make && make install
上述配置命令中,各選項的含義如下:
- -DCMAKE_INSTALL_PREFIX:指定MyQSL數(shù)據(jù)庫程序安裝到某目錄下,如目錄/usr/local/mysql。
- -DSYSCONFDIR:指定初始化參數(shù)文件目錄。
- -DDEFAULT_CHARSET:指定默認使用的字符集編碼,如utf-8。
- -DDEFAULT_COLLATION:指定默認使用的字符集校對規(guī)則,utf8_general_ci是適用于utf-8字符集的通用規(guī)則。
- -DWITH_EXTRA_CHARSETS:指定額外支持的其他字符集編碼。
[root@centos01 ~]# chown -R mysql:mysql /usr/local/mysql/
[root@centos01 ~]# cd /usr/src/mysql-5.5.22/
[root@centos01 mysql-5.5.22]# cp support-files/my-medium.cnf /etc/my.cnf
cp:是否覆蓋"/etc/my.cnf"? 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
[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
[root@centos01 ~]# netstat -anptu | grep 3306
MySQL數(shù)據(jù)庫系統(tǒng)是一個典型的C/S(客戶端/服務器)架構的應用。要訪問MySQL數(shù)據(jù)庫需要使用專門的客戶端軟件。在Linux系統(tǒng)中,最簡單、易用的MySQL客戶端軟件是其自帶的mysql命令工具。
經(jīng)過安裝后的初始化過程,MySQL數(shù)據(jù)庫的默認管理員用戶名為root,密碼為空。
登錄成功后將會進入提示符為“mysql>”的數(shù)據(jù)庫操作環(huán)境,用戶可以輸入各種操作語句對數(shù)據(jù)庫進行管理。每條MySQL操作語句以分號“;”表示結(jié)束,輸入時可以不區(qū)分大小寫。
[root@centos01 ~]# mysql -u root -p
New password:
mysql> exit
[root@centos01 ~]# mysqladmin -u root password
New password:
Confirm new password:
[root@centos01 ~]# mysql -u root -p
Enter password:
mysql> quit
mysql> show databases;
mysql> use myqsl;
mysql> show tables;
mysql> describe user;
mysql> create database bdqn;
mysql> drop database bdqn;
mysql> create table stuinfo(姓名 char(16),性別 char(10),年齡 char(10),聯(lián)系電話 char(11),Email地址 char(20));
mysql> drop table stuinfo;
mysql> insert into stuinfo (姓名,性別,年齡,聯(lián)系電話,Email地址) value ('李焱鑫',’男’,’20’,'18232013151',’2807489749@qq.com’);
!--stuinfo表插入數(shù)據(jù)-->
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;
+-----------+--------+--------+--------------+-------------------+
| 姓名 | 性別 | 年齡 | 聯(lián)系電話 | 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 姓名='李焱鑫';
+-----------+--------+--------+--------------+-------------------+
| 姓名 | 性別 | 年齡 | 聯(lián)系電話 | Email地址 |
+-----------+--------+--------+--------------+-------------------+
| 李焱鑫 | 男 | 20 | 18232013151 | 2807489749@qq.com |
+-----------+--------+--------+--------------+-------------------+
mysql> update stuinfo set 姓名='LiYanXin' where 姓名='李焱鑫';
mysql> delete from stuinfo where 姓名='LiYanXin';
MySQL數(shù)據(jù)庫的root用戶賬號擁有對所有庫、表的全部權限,頻繁使用root賬號會給數(shù)據(jù)庫服務器帶來一定的安全風險。通常在實際工作中會建立一些低權限的用戶,只負責一部分庫、表的管理和維護操作,甚至可以對查詢、修改、刪除記錄等各種操作做進一步的細化限制,從而將數(shù)據(jù)庫的風險降至最低。
GRANT語句:專門用來設置數(shù)據(jù)庫用戶的訪問權限。當指定的用戶名不存在時,GRANT語句將會創(chuàng)建新的用戶,否則,GRANT語句用于修改用戶信息。
語句格式如下:
GRANT 權限列表 ON 庫名.表名 TO 用戶名@來源地址 [ IDENTIFIED BY '密碼' ]使用GRANT語句時,需要注意的事項如下:
- 權限列表:用于列出授權使用的各種數(shù)據(jù)庫操作,以逗號進行分隔,Select 允許查詢;Insert 插入數(shù)據(jù);Update 更新數(shù)據(jù);Delete 刪除數(shù)據(jù);All 給所有權限,增加刪改查;使用“all”表示所有權限,可授權執(zhí)行任何操作。
- 庫名.表名:用于指定授權操作的庫和表的名稱,其中可以使用通配符“”?!癮uth.”表示授權操作的對象為auth庫中的所有表。
- 用戶名@來源地址:用于指定用戶名稱和允許訪問的客戶機地址,即誰能連接、能從哪里連接。來源地址可以是域名、IP地址,還可以使用“%”通配符,表示某個區(qū)域或網(wǎng)段內(nèi)的所有地址。
- IDENTIFIED BY:用于設置用戶連接數(shù)據(jù)庫時所使用的密碼字符串。在新建用戶時,若省略“IDENTIFIED BY”部分,則用戶的密碼將為空。
mysql> grant all on bdqn.* to 'rundb'@'localhost' identified by 'pwd@123';
mysql> show grants for 'rundb'@'localhost';
mysql> revoke all on bdqn.stuinfo from 'rundb'@'localhost';
對于以上關于Centos是如何安裝MySQL數(shù)據(jù)庫的,如果大家還有更多需要了解的可以持續(xù)關注我們創(chuàng)新互聯(lián)的行業(yè)推新,如需獲取專業(yè)解答,可在官網(wǎng)聯(lián)系售前售后的,希望該文章可給大家?guī)硪欢ǖ闹R更新。