Linux下MySQL安裝及基本操作教程

下面一起來(lái)了解下Linux下MySQL安裝及基本操作教程,相信大家看完肯定會(huì)受益匪淺,文字在精不在多,希望這篇短內(nèi)容是你想要的。

成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作的開(kāi)發(fā),更需要了解用戶,從用戶角度來(lái)建設(shè)網(wǎng)站,獲得較好的用戶體驗(yàn)。創(chuàng)新互聯(lián)公司多年互聯(lián)網(wǎng)經(jīng)驗(yàn),見(jiàn)的多,溝通容易、能幫助客戶提出的運(yùn)營(yíng)建議。作為成都一家網(wǎng)絡(luò)公司,打造的就是網(wǎng)站建設(shè)產(chǎn)品直銷(xiāo)的概念。選擇創(chuàng)新互聯(lián)公司,不只是建站,我們把建站作為產(chǎn)品,不斷的更新、完善,讓每位來(lái)訪用戶感受到浩方產(chǎn)品的價(jià)值服務(wù)。

為了提供更豐富、更強(qiáng)大的 web 應(yīng)用功能,往往還需要有后臺(tái)數(shù)據(jù)庫(kù)、網(wǎng)頁(yè)編程等多種角色的支持。
在一般小中型企業(yè)中,最常用的數(shù)據(jù)庫(kù)就是MySQL,MySQL 是一個(gè)真正多線程、多用戶的 SQL 數(shù)據(jù)庫(kù)服務(wù),憑借其高性能、高可靠和易于使用的特性,成為云服務(wù)器領(lǐng)域中最受歡迎的開(kāi)源數(shù)據(jù)庫(kù)系統(tǒng)。
MySQL 源碼編譯包(mysql-5.6.tar.gz):
https://pan.baidu.com/s/1pgYHB8kyJ7U1zl2cm4XUcw
提取碼: y8py
MySQL 5.X 系列版本的使用最為廣泛,該版本穩(wěn)定性、兼容性都不錯(cuò)
其官方站點(diǎn)為:http://www.mysql.com
準(zhǔn)備工作:
為了避免發(fā)生端口沖突、程序沖突等現(xiàn)象,建議先查看 MySQL 的安裝情況,確認(rèn)沒(méi)有使用以 RPM 安裝的MySQL包
[root@mysql /]# rpm -qa | grep mysql
如果有的話,建議將其卸載:rpm -q mysql-server mysql
然后就是需要安裝 ncurses 包,檢測(cè)到已經(jīng)安裝三個(gè),還缺一個(gè),所以需要掛載系統(tǒng)光盤(pán),進(jìn)行安裝

[root@mysql /]# rpm -qa | grep ncurses
ncurses-5.9-13.20130511.el7.x86_64
ncurses-libs-5.9-13.20130511.el7.x86_64
ncurses-base-5.9-13.20130511.el7.noarch
[root@mysql /] # mount /dev/sr0 /media/
[root@mysql Packages]# rpm -ivh ncurses-devel-5.9-13.20130511.el7.x86_64.rpm 
warning: ncurses-devel-5.9-13.20130511.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:ncurses-devel-5.9-13.20130511.el7################################# [100%]

MySQL 5.X 系列版本需要 cmake 編譯安裝,所以需要先安裝 cmake 包:

[root@mysql media]# tar zxf cmake-2.8.6.tar.gz -C /usr/src/
[root@mysql media]# cd /usr/src/cmake-2.8.6/
[root@mysql cmake-2.8.6]# ./configure 
[root@mysql cmake-2.8.6]# gmake && gmake install           # 過(guò)程會(huì)很長(zhǎng)

源碼編譯及安裝:
創(chuàng)建運(yùn)行用戶:

[root@mysql /]# groupadd mysql
[root@mysql /]# useradd -M -s /sbin/nologin mysql -g mysql    # -M 不創(chuàng)建宿主目錄   -s 指定shell環(huán)境   -g 指定加入組 

解包:
將下載的 mysql 源碼包解壓:

[root@mysql media]# tar zxf mysql-5.6.36.tar.gz -C /usr/src/
[root@mysql media]# cd /usr/src/mysql-5.6.36/

配置:
在內(nèi)容豐富、結(jié)構(gòu)龐大的企業(yè)網(wǎng)站中,可能會(huì)用到多種字符集的網(wǎng)頁(yè),相應(yīng)地?cái)?shù)據(jù)庫(kù)系統(tǒng)也應(yīng)該支持不同的字符集編碼。在配置過(guò)程中,可以將默認(rèn)使用的字符集設(shè)置為 utf-8,并添加字符集的支持。
注意注意注意:接下來(lái)輸入的命令需要區(qū)分大小寫(xiě),一個(gè)標(biāo)點(diǎn)符號(hào)也不能錯(cuò),錯(cuò)了就得重新來(lái)過(guò),寫(xiě)完命令之后一定要耐心檢查一下

[root@mysql mysql-5.6.36]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql 
-DSYSCONFDIR=/etc 
-DDEFAULT_CHARSET=utf8 
-DDEFAULT_COLLATION=utf8_general_ci                    # 每個(gè)“-”前都有空格
-DWITH_EXTRA_CHARSETS=all

各選項(xiàng)含義:
--DCMAKE_INSTALL_PREFIX:指定將 MySQL 數(shù)據(jù)庫(kù)程序安裝到某目錄下
--DSYSCONFDIR:指定初始化參數(shù)文件目錄
--DDEFAULT_CHARSET:指定默認(rèn)使用的字符集編碼
--DDEFAULT_COLLATION:指定默認(rèn)使用的字符集校對(duì)規(guī)則,utf8_general_ci 是適用于 utf-8 字符集的通用規(guī)則 
--DWITH_EXTRA_CHARSETS:指定額外支持的其他字符集編碼

[root@mysql mysql-5.6.36]# make && make install            #編譯并安裝  過(guò)程會(huì)很漫長(zhǎng)
安裝后的其他調(diào)整:
對(duì)數(shù)據(jù)庫(kù)的目錄進(jìn)行權(quán)限設(shè)置:
[root@mysql ~]# chown -R mysql:mysql /usr/local/mysql
建立配置文件:
在 Centos 7 系統(tǒng)下默認(rèn)支持 MariaDB 數(shù)據(jù)庫(kù),因此系統(tǒng)默認(rèn)的/etc/my.cnf 配置文件中是 MariaDB 的配置文件。而在源碼包目錄中的 support-files 文件夾中,提供了 MySQL 數(shù)據(jù)庫(kù)默認(rèn)的樣本配置文件 my-default.cnf 文件,所以在啟動(dòng)之前需要將原有的 my.cnf 文件替換為 MySQL 提供的配置文件內(nèi)容。

[root@mysql ~]# rm -rf /etc/my.cnf                       # 將原來(lái) etc 文件夾下的 my.cnf 文件刪除
[root@mysql ~]# cp /usr/src/mysql-5.6.36/support-files/my-default.cnf /etc/my.cnf

初始化數(shù)據(jù)庫(kù):
以運(yùn)行用戶 mysql 的身份執(zhí)行初始化腳本 mysql_install_db,指定數(shù)據(jù)存放目錄

[root@mysql ~]# /usr/local/mysql/scripts/mysql_install_db 
--user=mysql 
--basedir=/usr/local/mysql 
--datadir=/usr/local/mysql/data

設(shè)置環(huán)境變量(為了方便在任何目錄下使用 mysql 命令,需要在 /etc/profile 設(shè)置環(huán)境變量):

[root@mysql ~]# echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
[root@mysql ~]# . /etc/profile                  // 立即生效

添加為系統(tǒng)服務(wù):

[root@mysql ~]# cp /usr/src/mysql-5.6.36/support-files/mysql.server
/usr/local/mysql/bin/mysqld.sh       # 將服務(wù)腳本復(fù)制到 MySQL安裝目錄中
[root@mysql ~]# chmod +x /usr/local/mysql/bin/mysqld.sh     # 添加執(zhí)行權(quán)限

[root@mysql /]# vim /usr/lib/systemd/system/mysqld.service 

[Unit]
Description=MySQL Server
After=network.target

[Service]
User=mysql                                     # 指定程序運(yùn)行的用戶賬號(hào)
Group=mysql                                  # 指定程序運(yùn)行的組賬號(hào)

Type=forking
PIDFile=/usr/local/mysql/data/mysql.com.pid          # 注意pid前要輸主機(jī)名,輸入之前先查看一下本機(jī)主機(jī)名
ExecStart=/usr/local/mysql/bin/mysqld.sh  start
ExecStop=/usr/local/mysql/bin/mysqld.sh  stop

[Install]
WantedBy=multi-user.target
[root@mysql /]# systemctl enable mysqld              # 設(shè)置開(kāi)機(jī)自啟
[root@mysql /]# systemctl status mysqld               # 檢查服務(wù)啟動(dòng)狀態(tài)
[root@mysql /]# systemctl start mysqld                  # 啟動(dòng)服務(wù)

若嫌編寫(xiě)配置文件麻煩,可以換另一種方法:

當(dāng)對(duì)/usr/local/mysql/bin/mysqld.sh 賦予執(zhí)行權(quán)限后,繼續(xù)以下操作:

[root@mysql-5.6.36]# cp /usr/local/mysql/bin/mysqld.sh /etc/init.d/mysqld
[root@mysql-5.6.36]# vim /etc/init.d/mysqld 

Linux下MySQL安裝及基本操作教程
修改后,保存退出。繼續(xù)執(zhí)行如下命令:

[root@localhost mysql-5.6.36]# chkconfig --add mysqld            #添加為系統(tǒng)服務(wù)

啟動(dòng)服務(wù)后登陸數(shù)據(jù)庫(kù):
root 是MySQL的默認(rèn)管理員

[root@mysql /]# mysql -u root              # 無(wú)密碼的時(shí)候登陸
[root@mysql /]# mysqladmin -u root password 123456       # 第一次設(shè)置密碼
[root@mysql /]# mysqladmin -u root -p password 654321      # 修改密碼,先輸入新密碼
Enter password:                                        # 根據(jù)提示輸入舊密碼
[root@mysql /]# mysql -u root -p               # 使用密碼登陸
Enter password:                                         # 根據(jù)提示輸入密碼
 [root@mysql /]# mysql -u root -p 
 ……       // 省略部分內(nèi)容
mysql> status                    # 查看當(dāng)前數(shù)據(jù)庫(kù)的基本信息
mysql> exit                        # 退出 MySQL操作環(huán)境  ouit 也行
Bye

查看 MySQL 中有哪些庫(kù):

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+
4 rows in set (0.03 sec)

查看數(shù)據(jù)庫(kù)中有哪些表:

mysql> use mysql;
Database changed
mysql> show tables;
+---------------------------+
| Tables_in_mysql         |
+---------------------------+
| columns_priv              |
| db                               |
| time_zone_name        |
……      // 省略部分內(nèi)容
| time_zone_transition   |
| time_zone_transition_type |
| user                      |
+---------------------------+
28 rows in set (0.00 sec)

查看表的結(jié)構(gòu):

mysql> describe user;
+----------+----------+------+-----+---------+-------+
| Field    | Type     | Null | Key | Default | Extra |
+----------+----------+------+-----+---------+-------+
| name     | char(16) | YES  |     | NULL    |       |
| xingbie  | char(10) | YES  |     | NULL    |       |
| nianling | int(11)  | YES  |     | NULL    |       |
+----------+----------+------+-----+---------+-------+
3 rows in set (0.01 sec)

創(chuàng)建新的數(shù)據(jù)庫(kù):
mysql> create database users;
創(chuàng)建新的表:

mysql> use users;
mysql> create table user (name char(16),xingbie char(10),nianling int);

刪除一個(gè)數(shù)據(jù)表:

mysql> drop table user;
Query OK, 0 rows affected (0.01 sec)

刪除一個(gè)數(shù)據(jù)庫(kù):

mysql> drop database users;
Query OK, 0 rows affected (0.00 sec)

管理表中的數(shù)據(jù)記錄:
插入數(shù)據(jù)記錄:

insert   into  表名(字段一,字段二,...)   values(字段一的值,字段二的值,....)
mysql> insert into user (name,xingbie,nianling) values('zhangsan','nan','25');

查詢(xún)數(shù)據(jù)記錄:

mysql> select * from user;
+----------+---------+----------+
| name     | xingbie | nianling |
+----------+---------+----------+
| zhangsan | nan     |       25 |
+----------+---------+----------+
1 row in set (0.00 sec)

修改數(shù)據(jù)記錄:

update    表名   set    字段名=‘修改的字段值’ where  條件表達(dá)式
mysql> update user set nianling='20' where name='zhangsan';

刪除數(shù)據(jù)記錄:

delete    from   表名    where   條件表達(dá)式;
mysql> delete from user where name='zhangsan';

數(shù)據(jù)庫(kù)用戶授權(quán):
授予權(quán)限

grant    權(quán)限列表    on    庫(kù)名.表名    to  用戶@來(lái)源地址   identified    by   ‘密碼’;
mysql> grant select on users.user to zhangsan@localhost identified by  '123456';

使用 GRANT 語(yǔ)句需要注意以下幾點(diǎn):
Linux下MySQL安裝及基本操作教程
Linux下MySQL安裝及基本操作教程
查看權(quán)限:

show    grants    for  用戶名@來(lái)源地址;
show    grants    for  'zhangsan'@'localhost';

撤銷(xiāo)權(quán)限:

revoke    權(quán)限列表    on   數(shù)據(jù)庫(kù)名.表名    from   用戶名@來(lái)源地址

revoke    all    on   test.user    from   'zhangsan'@'localhost';

看完Linux下MySQL安裝及基本操作教程這篇文章后,很多讀者朋友肯定會(huì)想要了解更多的相關(guān)內(nèi)容,如需獲取更多的行業(yè)信息,可以關(guān)注我們的行業(yè)資訊欄目。

網(wǎng)頁(yè)標(biāo)題:Linux下MySQL安裝及基本操作教程
分享地址:http://muchs.cn/article30/geedso.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、網(wǎng)站排名、品牌網(wǎng)站建設(shè)、域名注冊(cè)、網(wǎng)站維護(hù)、小程序開(kāi)發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司