可能是目前最詳細(xì)簡(jiǎn)明的CentOS7安裝與管理教程

說在前面

俗話說好記性不如爛筆頭朗涩,考慮到每次安裝部署都要各種查閱資料鬼雀,很是不便,故決定重頭開始安裝一遍常用服務(wù)常挚,作為以后的參照作谭。


第一步:確定發(fā)行版本,安裝系統(tǒng)

首先明確自己需要的版本奄毡,本人不習(xí)慣桌面版(作為服務(wù)器折欠,推薦熟悉命令行系統(tǒng),畢竟效率上不是一個(gè)量級(jí)的),而且也不喜歡集成好的第三方鏡像锐秦,故直接在官網(wǎng)下載最小化版本Minimal ISO咪奖。這里我們以目前最新版本CentOS7 64位系統(tǒng)為例進(jìn)行安裝(具體安裝過程不在敘述,大家肯定可以的)酱床。

第二步:root 密碼重置

首次安裝赡艰, root 賬號(hào)密碼默認(rèn)為空(當(dāng)然也可以在安裝過程中設(shè)置),但本人經(jīng)常忘記密碼斤葱,所以難免有要重置密碼的時(shí)候慷垮。

  1. 重啟系統(tǒng),開機(jī)過程中揍堕,出現(xiàn)下圖畫面時(shí)料身,通過快速按下來暫停引導(dǎo)程序(對(duì)手速自信的同學(xué)請(qǐng)無視),如圖:

    系統(tǒng)啟動(dòng)界面

  2. 使用選擇第一行(背景高亮即為選中)衩茸,按下鍵盤上的e芹血,進(jìn)入編輯模式;

  3. 將光標(biāo)一直移動(dòng)到 LANG=en_US.UTF-8 后面,空格楞慈,再追加init=/bin/sh幔烛。這里特別注意,需要寫在UTF-8后囊蓝,保持在同一行饿悬,并注意空格。由于屏幕太小聚霜,會(huì)自動(dòng)添加\換行狡恬,這個(gè)是正常的。如圖:


    編輯模式
  4. 按下CTRL+X進(jìn)行引導(dǎo)啟動(dòng)蝎宇,成功后進(jìn)入該界面弟劲,如圖:

  1. 接下來逐步輸入以下命令:
    1. 掛載根目錄
      mount -o remount, rw /
    2. 選擇要修改密碼的用戶名,這里選擇root用戶進(jìn)行修改姥芥,可以更換為你要修改的用戶
      passwd root
    3. 輸入2次一樣的新密碼兔乞,注意輸入密碼的時(shí)候屏幕上不會(huì)有字符出現(xiàn)。
      如果輸入的密碼太簡(jiǎn)單凉唐,會(huì)提示警告(BAD PASSWORD:The password fails the dictionary check - it is too simplistic/systematic)庸追,可以無視它,繼續(xù)輸入密碼熊榛,不過建議還是設(shè)置比較復(fù)雜一些的密碼锚国,以保證安全性
    4. 如果已經(jīng)開啟了SElinux(這個(gè)后面會(huì)講),則需要輸入以下命令
      touch /.autorelabel
    5. 最后輸入以下命令重啟系統(tǒng)即可
      exec /sbin/initexec /sbin/reboot

第三步:開啟網(wǎng)卡

因?yàn)樽钚』惭b以后玄坦,centos 默認(rèn)未開啟網(wǎng)卡血筑,所以首先需要開啟網(wǎng)卡:

  1. 執(zhí)行命令cd /etc/sysconfig/network-scripts绘沉,看到下圖:
    網(wǎng)卡配置目錄
  2. 執(zhí)行命令vi ifcfg-ens33(vi/vim編輯器用法相信小伙伴都很熟悉了,這里不再涉及)豺总,將 ONBOOT=no 改為 ONBOOT=yes车伞,如圖:
  3. 由于我是在虛擬機(jī)里安裝的centos,同時(shí)作為服務(wù)供給其他局域網(wǎng)用戶使用,所以選擇橋接模式喻喳,將centos的IP另玖、網(wǎng)關(guān)、DNS等信息進(jìn)行配置表伦,如圖:

BOOTPROTO=dhcp -->BOOTPROTO=static IP獲取方式改為靜態(tài)獲取
ZONE=public firewalld zone=piblic(公共):在公共區(qū)域內(nèi)使用谦去,不能相信網(wǎng)絡(luò)內(nèi)其他計(jì)算機(jī)不會(huì)對(duì)你造成危害,只能接受經(jīng)過選取的連接蹦哼。
PADDR=10.82.17.71 IP地址
ATEWAY=10.82.17.1 網(wǎng)關(guān) 鳄哭,與虛擬機(jī)虛擬網(wǎng)卡VMnet8中設(shè)置的網(wǎng)關(guān)保持一致
ETMASK=255.255.255.0 子網(wǎng)掩碼
DNS1=10.82.1.4
DNS2=10.82.1.6

然后執(zhí)行systemctl restart network,重啟網(wǎng)絡(luò)服務(wù)


測(cè)試網(wǎng)絡(luò)是否連通:ping www.baidu.com

出現(xiàn)以下信息纲熏,說明可以正常訪問互聯(lián)網(wǎng)了(至于上圖為什么畫風(fēng)變了妆丘,額,這個(gè)純屬個(gè)人喜好局劲,小伙伴可以自己選擇喜歡的終端工具以及主題配色)

第四步:關(guān)閉 SELinux

SELinux(Security-Enhanced Linux) 是美國(guó)國(guó)家安全局(NSA)對(duì)于強(qiáng)制訪問控制的實(shí)現(xiàn)勺拣,是 Linux歷史上最杰出的新安全子系統(tǒng)。NSA是在Linux社區(qū)的幫助下開發(fā)了一種訪問控制體系鱼填,在這種訪問控制體系的限制下药有,進(jìn)程只能訪問那些在他的任務(wù)中所需要文件。
SELinux是一種基于 域-類型 模型(domain-type)的強(qiáng)制訪問控制(MAC)安全系統(tǒng)剔氏,它由NSA編寫并設(shè)計(jì)成內(nèi)核模塊包含到內(nèi)核中塑猖,相應(yīng)的某些安全相關(guān)的應(yīng)用也被打了SELinux的補(bǔ)丁竹祷,最后還有一個(gè)相應(yīng)的安全策略谈跛。任何程序?qū)ζ滟Y源享有完全的控制權(quán)。假設(shè)某個(gè)程序打算把含有潛在重要信息的文件扔到/tmp目錄下塑陵,那么在DAC情況下沒人能阻止他感憾。SELinux提供了比傳統(tǒng)的UNIX權(quán)限更好的訪問控制。

但是令花,很多服務(wù)都有SELinux的限制阻桅,比如常見的/tmp文件夾無訪問權(quán)限,改起來頗為麻煩兼都,個(gè)人使用還是關(guān)閉SELinux嫂沉,省心。

查看SELinux狀態(tài)
執(zhí)行命令:getenforce


如上圖顯示Enforcing扮碧,說明SELinux處于開啟狀態(tài)趟章。

臨時(shí)關(guān)閉

##設(shè)置SELinux 成為permissive模式
##setenforce 1 設(shè)置SELinux 成為enforcing模式
setenforce 0

永久關(guān)閉
直接修改配置文件
執(zhí)行命令:vi /etc/selinux/config

SELINUX=enforcing改為SELINUX=disabled
然后執(zhí)行命令reboot重啟系統(tǒng)生效
再次查看杏糙,狀態(tài)已變?yōu)?code>disabled

第五步:防火墻基礎(chǔ)配置

在centos7時(shí)代防火墻已由iptable轉(zhuǎn)向firewalld,既然本文講的是centos7蚓土,那么我們就直接接受并適應(yīng)它宏侍。??
在此之前,要提一提systemctl

systemd 是一個(gè) Linux 系統(tǒng)基礎(chǔ)組件的集合蜀漆,提供了一個(gè)系統(tǒng)和服務(wù)管理器谅河,運(yùn)行為 PID 1 并負(fù)責(zé)啟動(dòng)其它程序。功能包括:支持并行化任務(wù)确丢;同時(shí)采用 socket 式與 D-Bus 總線式激活服務(wù)绷耍;按需啟動(dòng)守護(hù)進(jìn)程(daemon);利用 Linux 的 cgroups 監(jiān)視進(jìn)程鲜侥;支持快照和系統(tǒng)恢復(fù)锨天;維護(hù)掛載點(diǎn)和自動(dòng)掛載點(diǎn);各服務(wù)間基于依賴關(guān)系進(jìn)行精密控制剃毒。systemd 支持 SysV 和 LSB 初始腳本病袄,可以替代 sysvinit。除此之外赘阀,功能還包括日志進(jìn)程益缠、控制基礎(chǔ)系統(tǒng)配置,維護(hù)登陸用戶列表以及系統(tǒng)賬戶基公、運(yùn)行時(shí)目錄和設(shè)置幅慌,可以運(yùn)行容器和虛擬機(jī),可以簡(jiǎn)單的管理網(wǎng)絡(luò)配置轰豆、網(wǎng)絡(luò)時(shí)間同步胰伍、日志轉(zhuǎn)發(fā)和名稱解析等。

簡(jiǎn)單說就是:systemctl是CentOS7的服務(wù)管理工具中主要的工具酸休,它融合之前service和chkconfig的功能于一體骂租。在系統(tǒng)服務(wù)管理中推薦使用systemctl來管理。

下面以firewalld服務(wù)為例:

  1. firewalld服務(wù)啟用/停用

啟動(dòng)一個(gè)服務(wù):systemctl start firewalld.service
關(guān)閉一個(gè)服務(wù):systemctl stop firewalld.service
重啟一個(gè)服務(wù):systemctl restart firewalld.service
顯示一個(gè)服務(wù)的狀態(tài):systemctl status firewalld.service
在開機(jī)時(shí)啟用一個(gè)服務(wù):systemctl enable firewalld.service
在開機(jī)時(shí)禁用一個(gè)服務(wù):systemctl disable firewalld.service
查看服務(wù)是否開機(jī)啟動(dòng):systemctl is-enabled firewalld.service
查看已啟動(dòng)的服務(wù)列表:systemctl list-unit-files|grep enabled
查看啟動(dòng)失敗的服務(wù)列表:systemctl --failed

2.配置firewalld-cmd

查看版本: firewall-cmd –version
查看幫助: firewall-cmd –help
顯示狀態(tài): firewall-cmd –state
查看所有打開的端口: firewall-cmd –zone=public –list-ports
更新防火墻規(guī)則: firewall-cmd –reload
查看區(qū)域信息: firewall-cmd –get-active-zones
查看指定接口所屬區(qū)域: firewall-cmd –get-zone-of-interface=eth0
拒絕所有包:firewall-cmd –panic-on
取消拒絕狀態(tài): firewall-cmd –panic-off
查看是否拒絕: firewall-cmd –query-panic

3.端口管理:

添加: firewall-cmd --zone=public --add-port=80/tcp --permanent (--permanent 永久生效斑司,沒有此參數(shù)重啟后失效)
重新載入:firewall-cmd --reload
查看:firewall-cmd --zone= public --query-port=80/tcp
刪除:firewall-cmd --zone= public --remove-port=80/tcp --permanent

正式環(huán)境下渗饮,看需要選擇是否使用防火墻,這里為了方便后續(xù)配置宿刮,就先將其關(guān)閉:

關(guān)閉防火墻 systemctl stop firewalld
禁止開機(jī)自啟systemctl disable firewalld
查看防火墻狀態(tài)systemctl status firewalld

防火墻狀態(tài)

第六步:添加常用yum源(軟件包)

linux下軟件安裝方式有很多互站,比如RMP、YUM、源代碼安裝等。其中CentOS 內(nèi)置的yum命令安裝非常的簡(jiǎn)單實(shí)用馋辈,能自動(dòng)幫助我們解決依賴弧可,在此推薦yum方式安裝軟件應(yīng)用,但CentOS 最小化安裝后睹酌,內(nèi)置的yum源可用的軟件偏少或者版本過低蚓炬,通常我們需要使用一些第三方的yum源熏兄,這里向大家推薦兩個(gè)比較常用和權(quán)威的yum源亡容,EPEL和REMI嗤疯。
EPEL

EPEL 是 Extra Packages for Enterprise Linux 的縮寫(EPEL),是用于 Fedora-based Red Hat Enterprise Linux (RHEL) 的一個(gè)高質(zhì)量軟件源闺兢,所以同時(shí)也適用于 CentOS 或者 Scientific Linux 等發(fā)行版茂缚。

REMI

Remi repository 是包含最新版本 PHP 和 MySQL 包的 Linux 源,由 Remi 提供維護(hù)屋谭。有個(gè)這個(gè)源之后脚囊,使用 YUM 安裝或更新 PHP、MySQL桐磁、phpMyAdmin 等服務(wù)器相關(guān)程序的時(shí)候就非常方便了悔耘。

首先查看目前系統(tǒng)中已存在的yum源:yum repolist

image

可以看到目前系統(tǒng)yum源有三個(gè),接下來我們開始添加新的yum源我擂。

由于現(xiàn)在安裝 REMI源的時(shí)候會(huì)自動(dòng)安裝EPEL作為依賴包衬以。所以我們只需要直接安裝REMI即可:yum install http://rpms.famillecollet.com/enterprise/remi-release-7.rpm


然后確認(rèn),安裝完畢


再次查看yum repolist

可以看到校摩,我們已經(jīng)多出了兩個(gè)yum源(后續(xù)可繼續(xù)增加其他源看峻,這里就不再補(bǔ)充了)。
可在cd /etc/yum.repos.d 中查看對(duì)應(yīng)repo文件衙吩。

接下來在安裝軟件之前互妓,我們先來熟悉下yum常用命令:

yum repolist all: 顯示所有倉(cāng)庫(kù)
yum repolist 或 yum repolist enabled: 顯示可用倉(cāng)庫(kù)
yum repolist disabled:顯示禁用倉(cāng)庫(kù)
yum list 或 yum list all:顯示所有的程序包
yum list available:顯示可安裝的程序包
yum list updates:顯示可更新程序包
yum list installed:顯示已安裝程序包
yum list recent: 顯示最近新增的程序包
yum search xxx:搜索xxx程序包
yum install xxx :安裝xxx程序包
yum update xxx :升級(jí)xxx程序包
yum remove xxx 或 yum erase xxx:卸載xxx程序包
yum info xxx:查看程序包xxx信息
yum deplist xxx:查看程序包xxx依賴
yum clean all :清理本地緩存
yum clean plugins :清除插件緩存
yum makecache:構(gòu)建緩存
yum history:查看yum事務(wù)歷史

我們先執(zhí)行命令:yum makecache 把服務(wù)器的包信息下載到本地電腦緩存起來,以提高搜索 、安裝軟件的速度坤塞,如圖:

第七步:軟件應(yīng)用安裝與配置

首先我們從常規(guī)的LMAP套裝開始:

1. MariaDB:

CentOS 6 或早期的版本中提供的是 MySQL 的服務(wù)器/客戶端安裝包冯勉,但 CentOS 7 已使用了 MariaDB 替代了默認(rèn)的 MySQL。MariaDB數(shù)據(jù)庫(kù)管理系統(tǒng)是MySQL的一個(gè)分支摹芙,主要由開源社區(qū)在維護(hù)灼狰,采用GPL授權(quán)許可 MariaDB的目的是完全兼容MySQL,包括API和命令行瘫辩,使之能輕松成為MySQL的代替品伏嗜。

在這里先介紹下常用的RPM命令:

查詢軟件包
rpm -q xxx
rpm -qp ***.rpm: 獲取當(dāng)前目錄下的rpm包相關(guān)信息
rpm -qa | less :列出所有已安裝的軟件包
rpm -qa | grep xxx :列出所有被安裝的xxx
rpm -qf /usr/sbin/httpd :查看某個(gè)文件屬于哪個(gè)軟件包,可以是普通文件或可執(zhí)行文件伐厌,跟文件的絕對(duì)路徑
rpm -qi xxx:列出已安裝的xxx包的標(biāo)準(zhǔn)詳細(xì)信息
rpm -ql xxx:列出rpm包xxx的文件內(nèi)容

安裝軟件包
rpm -ivh ***.rpm:其中i表示安裝,v表示顯示安裝過程裸影,h表示顯示進(jìn)度

升級(jí)軟件包
rpm -Uvh ***.rpm

刪除軟件包
rpm -e xxx
rpm -e -–nodeps xxx:不考慮依賴包
rpm -e –-allmatches xxx:刪除所有跟xxx匹配的所有版本的包

1.1 安裝

首先查看系統(tǒng)是否安裝過mariadb:rpm -qa | grep mariadb

先卸載系統(tǒng)中的mariadb:rpm -e --nodeps mariadb-libs-****.x86_64

查看可安裝版本:yum list mariadb*

這里要說明一下:

出于實(shí)用的目的挣轨,MariaDB是同一MySQL版本的二進(jìn)制替代品(例如MySQL 5.1->MariaDB 5.1, MariaDB5.2和MariaDB 5.3是兼容的。MySQL 5.5將會(huì)和MariaDB 5.5保持兼容)轩猩。簡(jiǎn)單說5.x就是為了兼容MySQL5.x的卷扮,接口幾乎一致荡澎,體驗(yàn)上幾乎無差別。
但是從2012年11月12日發(fā)布的mariadb10.0.0開始晤锹,不在依照MySQL的版本號(hào)摩幔,10.0.x版本是以5.5版為基礎(chǔ),加入移植自MySQL5.6版的新功能和自行開發(fā)的新功能鞭铆。

所以或衡,為了更好的兼容已有MySQL(5.6以前)版本,這里我們不安裝最新版marisdb10车遂,而是選擇5.5版本封断。

這里我們安裝mariadbmariadb-server即可。
執(zhí)行命令yum install -y mariadb mariadb-server


程序會(huì)自動(dòng)分析其需要的依賴并下載安裝舶担,我們靜等完成就好坡疼。



到此,mariadb安裝結(jié)束衣陶。

1.2 啟動(dòng)配置

啟動(dòng)mariadb:systemctl start mariadb
查看運(yùn)行狀態(tài):systemctl status mariadb


設(shè)置開啟自啟:systemctl enable mariadb

1.3 密碼配置

登陸數(shù)據(jù)庫(kù):mysql -u root -p


首次安裝后柄瑰,root賬號(hào)默認(rèn)密碼為空,下面我們?yōu)閞oot賬號(hào)設(shè)置密碼
執(zhí)行命令:mysql_secure_installation


使用剛設(shè)置的密碼登陸數(shù)據(jù)庫(kù):
mysql -u root -p

1.4 字符集與排序規(guī)則

接下來剪况,讓我么你看下mariadb數(shù)據(jù)庫(kù)字符集(Character set)和排序規(guī)則(Collation):
執(zhí)行:show variables like "%character%";show variables like "%collation%";

這里再普及下字符集的概念:

character_set_client: 代表客戶端字符集狱意,客戶端最簡(jiǎn)單的來說,就是指命令行拯欧,或者其它操作數(shù)據(jù)庫(kù)的網(wǎng)頁(yè)详囤,應(yīng)用等等,客戶端字符集就代表了用戶輸入的字符镐作,用什么字符集來編碼藏姐。
character_set_connection: 代表與服務(wù)器連接層的字符集,mysql是連接mysqld服務(wù)器的客戶端该贾,兩者連接層羔杨,采用的字符集。
character_set_database: 數(shù)據(jù)庫(kù)采用的字符集杨蛋。
character_set_filesystem: 文件采用的肯定是二進(jìn)制最合適兜材,不用修改。
character_set_result: 結(jié)果字符集逞力,返回結(jié)果時(shí)采用的字符集曙寡。
character_set_server: mysql服務(wù)器采用的字符集,也就是操作默認(rèn)的字符集寇荧。
character_set_system: 系統(tǒng)元數(shù)據(jù)(字段名等)字符集举庶,比如我們輸入的命令'insert ...'這些語(yǔ)句字符串采用的字符集。
collation_類同

為了保證統(tǒng)一揩抡,避免出現(xiàn)編碼不一致導(dǎo)致的亂碼問題户侥,我們統(tǒng)一設(shè)置成 UTF-8:

這里不得不再次強(qiáng)調(diào)一下:

MariaDB / MySQL中 的 "utf8" 并不是真正的UTF-8镀琉,其中的 "utf8mb4" 才是真正的UTF-8。"utf8" 只支持每個(gè)字符最多三個(gè)字節(jié)蕊唐,而真正的 UTF-8 是每個(gè)字符最多四個(gè)字節(jié)屋摔。MySQL 在5.5.3之后增加了這個(gè) "utf8mb4" 的編碼,mb4 就是 most bytes 4的意思替梨,專門用來兼容四字節(jié)的 unicode钓试。好在 "utf8mb4" 是 "utf8" 的超集,除了將編碼改為 "utf8mb4" 外不需要做其他轉(zhuǎn)換耙替,如果要想完美兼容亚侠,或者想存儲(chǔ) emoji 表情之類的,最好還是設(shè)置成 "utf8mb4" 當(dāng)然俗扇,為了節(jié)省空間硝烂,一般情況下使用 "utf8' 也就夠了。所以铜幽,現(xiàn)在網(wǎng)絡(luò)上出現(xiàn)的設(shè)置"utf8' 的文章滞谢,可以說都多少有些過時(shí)了。

查看數(shù)據(jù)庫(kù)支持字符集:
執(zhí)行 SHOW CHARSET;
可以看到當(dāng)前版本的 MariaDB 是支持 "utf8mb4" 的除抛。由于個(gè)人需要狮杨,為了節(jié)省空間,我們接下來還是設(shè)置成 "utf8"到忽,大家知道這個(gè)事情就好橄教,再根據(jù)項(xiàng)目需要進(jìn)行選擇。

Snipaste_2020-01-17_13-21-40.png

臨時(shí)修改(重啟后失效)

字符集
– mysql> SET character_set_client = utf8 ;
– mysql> SET character_set_connection = utf8 ;
mysql> SET character_set_database = utf8 ;
mysql> SET character_set_results = utf8 ;
mysql> SET character_set_server = utf8 ;

排序規(guī)則
– mysql> SET collation_connection = utf8_general_ci;
mysql> SET collation_database = utf8_general_ci;
mysql> SET collation_server = utf8_general_ci ;

這里對(duì)mysql中的排序規(guī)則utf8_unicode_ci喘漏、utf8_general_ci的區(qū)別總結(jié):

ci是 case insensitive, 即 "大小寫不敏感"
utf8_general_ci 不區(qū)分大小寫
utf8_general_cs 區(qū)分大小寫
utf8_unicode_ci和utf8_general_ci對(duì)中护蝶、英文來說沒有實(shí)質(zhì)的差別。
utf8_general_ci校對(duì)速度快翩迈,但準(zhǔn)確度稍差持灰。
utf8_unicode_ci準(zhǔn)確度高,但校對(duì)速度稍慢负饲。
tf8_unicode_ci比較準(zhǔn)確堤魁,utf8_general_ci速度比較快。通常情況下 utf8_general_ci的準(zhǔn)確性就夠我們用的了返十,如果你的應(yīng)用有德語(yǔ)妥泉、法語(yǔ)或者俄語(yǔ),請(qǐng)一定使用utf8_unicode_ci吧慢。

永久修改
首先修改my.cnf文件:vi /etc/my.cnf
在[mysqld]下添加

init_connect='SET collation_connection = utf8_general_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_general_ci
# To ignore client information and use the default server character set
# 忽略客戶端字符集信息涛漂,并使用服務(wù)器默認(rèn)字符集
skip-character-set-client-handshake

重啟mariadb:systemctl restart mariadb
重新登錄,再次查看:show variables like "%character%";show variables like "%collation%";都已設(shè)置成utf8检诗。

1.5 用戶與權(quán)限

創(chuàng)建用戶:CREATE USER username IDENTIFIED BY 'password';

為用戶設(shè)置權(quán)限:

授予username用戶在所有數(shù)據(jù)庫(kù)上的所有權(quán)限:
GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost' IDENTIFIED BY 'password';
撤銷username用戶在所有數(shù)據(jù)庫(kù)上的所有權(quán)限:
REVOKE ALL PRIVILEGES ON *.* FROM 'username'@'localhost';
授予username用戶在xxx數(shù)據(jù)庫(kù)上的所有權(quán)限:
GRANT ALL PRIVILEGES ON xxx.* TO 'username'@'localhost' IDENTIFIED BY 'password';
授予username用戶在xxx數(shù)據(jù)庫(kù)上的SELECT, UPDATE權(quán)限:
GRANT SELECT, UPDATE ON xxx.* TO 'username'@'localhost' IDENTIFIED BY 'password';

注意:上述命令中@localhost指的是本地匈仗,如果需要遠(yuǎn)程登錄數(shù)據(jù)庫(kù),則使用@'%'

刷新權(quán)限:
FLUSH PRIVILEGES;

刪除用戶:
DROP USER username@localhost;

2. Apache:

查看可安裝版本:yum list httpd


這里我們直接安裝最新版2.4.6:yum install -y httpd


安裝完畢逢慌,啟動(dòng)Apache:systemctl start httpd


Apache默認(rèn)端口80悠轩,所以在瀏覽器訪問http://localhost,出現(xiàn)以下界面攻泼,說明Apache啟動(dòng)成功


設(shè)置開機(jī)自啟:systemctl enable httpd

3. PHP

查看可安裝版本:yum list php

顯示版本為5.4.16火架,想要使用php7的話,需要安裝升級(jí)PHP7的rpm源
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

查看php7安裝包
yum list phpyum list php*w,可以看到目前可以安裝的各版本

這里我們不是以PHP為主忙菠,就選系統(tǒng)默認(rèn)版本5.4.16
yum install php

安裝完畢何鸡,查看php版本:php -v


重啟Apache:systemctl restart httpd
apache 默認(rèn)根目錄/var/www/html,添加文件phpinfo.php,輸入以下內(nèi)容:

<?php
    phpinfo();
?>

訪問http://localhost/phpinfo.php牛欢,查看php相關(guān)信息

3.1安裝PHP模塊

查看已安裝模塊:php -m

這里我們需要再安裝常用的一些模塊骡男,推薦使用pecl安裝php擴(kuò)展

PECL 的全稱是 The PHP Extension Community Library ,是一個(gè)開放的并通過 PEAR(PHP Extension and Application Repository傍睹,PHP 擴(kuò)展和應(yīng)用倉(cāng)庫(kù))打包格式來打包安裝的 PHP擴(kuò)展庫(kù)倉(cāng)庫(kù)隔盛。通過 PEAR 的 Package Manager 的安裝管理方式,可以對(duì) PECL 模塊進(jìn)行下載和安裝拾稳。

安裝pecl:
yum install php-pear php-devel

安裝模塊:
pecl install dom mbstring mcrypt mysql mysqli PDO pdo_mysql pdo_sqlite posix sqlite3 sysvmsg sysvsem sysvshm wddx xmlreader xmlwriter xsl

如遇到pecl找不到的擴(kuò)展模塊吮炕,再嘗試yum安裝,如:
yum install php-gd php-mbstring php-mcrypt php-mysql php-mysqli php-pdo php-pdo_sqlite php-posix php-sqlite3 php-ldap

重啟Apache
systemctl restart httpd

查看新增php模塊

3.2安裝phpMyAdmin

phpMyAdmin 是一個(gè)以PHP為基礎(chǔ)访得,以Web-Base方式架構(gòu)在網(wǎng)站主機(jī)上的MySQL的數(shù)據(jù)庫(kù)管理工具龙亲,讓管理者可用Web接口管理MySQL數(shù)據(jù)庫(kù)。借由此Web接口可以成為一個(gè)簡(jiǎn)易方式輸入繁雜SQL語(yǔ)法的較佳途徑悍抑,尤其要處理大量資料的匯入及匯出更為方便鳄炉。其中一個(gè)更大的優(yōu)勢(shì)在于由于phpMyAdmin跟其他PHP程式一樣在網(wǎng)頁(yè)服務(wù)器上執(zhí)行,但是您可以在任何地方使用這些程式產(chǎn)生的HTML頁(yè)面传趾,也就是于遠(yuǎn)端管理MySQL數(shù)據(jù)庫(kù)迎膜,方便的建立、修改浆兰、刪除數(shù)據(jù)庫(kù)及資料表磕仅。也可借由phpMyAdmin建立常用的php語(yǔ)法,方便編寫網(wǎng)頁(yè)時(shí)所需要的sql語(yǔ)法正確性簸呈。

安裝:yum install -y phpmyadmin

phpMyAdmin 的默認(rèn)安裝目錄是 /usr/share/phpMyAdmin榕订,同時(shí)會(huì)在 Apache 的配置文件目錄中自動(dòng)創(chuàng)建虛擬主機(jī)配置文件 /etc/httpd/conf.d/phpMyAdmin.conf(區(qū)分大小寫)。默認(rèn)情況下蜕便,CentOS 7上的phpMyAdmin只允許從回環(huán)地址(127.0.0.1)訪問劫恒。為了能遠(yuǎn)程連接,你需要改動(dòng)它的配置。

修改配置:
vi /etc/httpd/conf.d/phpMyAdmin.conf

<Directory /usr/share/phpMyAdmin/>
   AddDefaultCharset UTF-8

   <IfModule mod_authz_core.c>
     # Apache 2.4
     <RequireAny>
      # Require ip 127.0.0.1  #注釋掉
      # Require ip ::1   #注釋掉
      Require all granted   #新添加(允許所有請(qǐng)求訪問資源)
     </RequireAny>
 </IfModule>
 <IfModule !mod_authz_core.c>
     # Apache 2.2
     Order Deny,Allow
     Deny from All
     Allow from 127.0.0.1
     Allow from ::1
   </IfModule>
</Directory>

<Directory /usr/share/phpMyAdmin/setup/>
   <IfModule mod_authz_core.c>
     # Apache 2.4
     <RequireAny>
      #Require ip 127.0.0.1  #注釋掉
      #Require ip ::1   #注釋掉
      Require all granted   #新添加(允許所有請(qǐng)求訪問資源)
     </RequireAny>
   </IfModule>
   <IfModule !mod_authz_core.c>
     # Apache 2.2
     Order Deny,Allow
     Deny from All
     Allow from 127.0.0.1
     Allow from ::1
   </IfModule>
</Directory>

作者:TyiMan
鏈接:http://www.reibang.com/p/bc14ff0ab1c7
來源:簡(jiǎn)書
著作權(quán)歸作者所有两嘴。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán)丛楚,非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。

然后重啟Apache服務(wù)器:
systemctl restart httpd
訪問http://ip/phpmyadmin

開啟連接遠(yuǎn)程服務(wù)器中數(shù)據(jù)庫(kù)功能:

執(zhí)行命令 vi /usr/share/phpmyadmin/libraries/config.default.php,

$cfg['AllowArbitraryServer']值修改為true;

$cfg['AllowArbitraryServer'] = true;

然后重啟Apache服務(wù)器:
systemctl restart httpd

4. JDK:

查看可安裝JDK
yum search java|grep jdk

Linux發(fā)行版中用的多是OpenJDK(關(guān)于OpenJDK與Oracle JDK的區(qū)別這里不再贅述)憔辫。

我們選擇安裝OpenJDK1.8即可:
yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel

java -version

Linux 上使用 yum 命令后趣些,會(huì)將 OpenSDK 安裝到 /usr/lib/jvm/ 目錄下。
設(shè)置 JAVA-HOME贰您,讓系統(tǒng)上的所有用戶使用 java(OpenSDK )
vi /etc/profile
在末尾添加:

#set java environment
JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64
JRE_HOME=$JAVA_HOME/jre  CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

export JAVA_HOME JRE_HOME CLASS_PATH PATH

使配置文件生效:
source /etc/profile

驗(yàn)證環(huán)境變量是否生效:
echo $PATH

5. Tomcat:

下載當(dāng)前Tomcat8最新版的安裝文件apache-tomcat-8.0.27.tar.gz(https://tomcat.apache.org/download-80.cgi)坏平;

將apache-tomcat-8.0.28.tar.gz文件放到/usr/local目錄下,執(zhí)行如下腳本:

cd /usr/local
tar -zxvf apache-tomcat-8.5.28.tar.gz 解壓壓縮包
rm -rf apache-tomcat-8.5.28.tar.gz 刪除壓縮包
mv apache-tomcat-8.5.28 tomcat 重命名

通過systemctl 管理tomcat:

1)首先锦亦,為tomcat 增加一個(gè)pid文件

在tomca/bin 目錄下面舶替,增加 setenv.sh 配置,catalina.sh啟動(dòng)的時(shí)候會(huì)調(diào)用杠园,同時(shí)配置java內(nèi)存參數(shù)顾瞪;

vi setenv.sh

#add tomcat pid
CATALINA_PID="$CATALINA_BASE/tomcat.pid"
#add java opts
JAVA_OPTS="-server -XX:PermSize=256M -XX:MaxPermSize=1024m -Xms512M -Xmx1024M -XX:MaxNewSize=256m"

保存文件;
修改文件為可執(zhí)行:
chmod a+x /usr/local/tomcat/bin/setenv.sh
2)增加tomcat.service

在/usr/lib/systemd/system目錄下增加tomcat.service返劲,目錄必須是絕對(duì)目錄玲昧。
vi tomcat.service

[Unit]
Description=Tomcat
After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/usr/local/tomcat/tomcat.pid
ExecStart=/usr/local/tomcat/bin/startup.sh 
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target

[unit] 配置了服務(wù)的描述,規(guī)定了在network啟動(dòng)之后執(zhí)行篮绿。
[service] 配置服務(wù)的pid孵延,服務(wù)的啟動(dòng),停止亲配,重啟尘应。
[install] 配置了使用用戶。

執(zhí)行systemctl daemon-reload,使 tomcat.service生效

啟動(dòng)tomcat:
systemctl start tomcat
開機(jī)啟動(dòng):
systemctl enable tomcat

tomcat啟動(dòng)時(shí)會(huì)在tomcat的根目錄/usr/local/tomcat下生成pid文件tomcat.pid吼虎,停止后會(huì)刪除犬钢,用systemctl管理tomcat不會(huì)出現(xiàn)同時(shí)啟動(dòng)多個(gè)tomcat,這樣可以保證始終只有一個(gè)tomcat在運(yùn)行

訪問http://ip:8080/,出現(xiàn)以下界面說明啟動(dòng)成功


但當(dāng)我們點(diǎn)擊紅色框中按鈕思灰,進(jìn)入管理時(shí)玷犹,提示無訪問權(quán)限;

這時(shí)我們按提示洒疚,進(jìn)入/usr/local/tomcat/conf歹颓,編輯 tomcat-users.xml,設(shè)置用戶:
<tomcat-users></tomcat-users>內(nèi)部添加:

<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<user username="用戶名" password="密碼" roles="manager-gui,admin-gui"/>

另外遠(yuǎn)程登錄tomcat管理界面權(quán)限油湖,注釋掉/usr/local/tomcat/webapps/manager/META-INF/context.xml和/usr/local/tomcat/webapps/host-manager/META-INF/context.xml中:


  <!--
  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
  -->

再次使用剛設(shè)置的賬號(hào)密碼登陸即可成功登錄tomcat管理系統(tǒng)巍扛。

6. Node:
6.1 nvm

為了方便管理node,我們使用NVM(node版本管理器)
安裝(先確保安裝過curl /wget 工具乏德,沒有就安裝下):
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash
或者
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash

安裝完后撤奸,重新打開終端,查看安裝情況:
nvm --version

[root@localhost ~]# nvm --version
0.33.8

nvm常用命令:
vm install <version> ## 安裝指定版本,可模糊安裝胧瓜,如:安裝v8.9.4矢棚,既可nvm install v8.9.4,又可nvm install 8.9.4
vm uninstall <version> ## 刪除已安裝的指定版本贷痪,語(yǔ)法與install類似
vm use <version> ## 切換使用指定的版本node
vm list ## 列出所有安裝的版本
vm list-remote ## 列出所有遠(yuǎn)程服務(wù)器的版本(官方node version list)
vm current ## 顯示當(dāng)前的版本
vm alias <name> <version> ## 給不同的版本號(hào)添加別名
vm unalias <name> ## 刪除已定義的別名
vm reinstall-packages <version> ## 在當(dāng)前版本node環(huán)境下幻妓,重新全局安裝指定版本號(hào)的npm包

我們安裝當(dāng)前LTS(長(zhǎng)期穩(wěn)定版)v8.9.4以及最新版
nvm install 8.9.4
nvm install 9.6.0

查看已安裝版本:

[root@localhost ~]# nvm list
         v8.9.4 *
->       v9.6.0 *
default -> 8.9.4 (-> v8.9.4 *)
node -> stable (-> v9.6.0 *) (default)
stable -> 9.6 (-> v9.6.0 *) (default)
iojs -> N/A (default)
lts/* -> lts/carbon (-> v8.9.4 *)
lts/argon -> v4.8.7 (-> N/A)
lts/boron -> v6.13.0 (-> N/A)
lts/carbon -> v8.9.4 *

然后使用8.9.4:
nvm use 8.9.4

[root@localhost ~]# nvm use 8.9.4
Now using node v8.9.4 (npm v5.6.0)

查看當(dāng)前版本:
nvm current

[root@localhost ~]# nvm current
v8.9.4
6.2 nrm

接下來我們安裝nrm(管理npm源切換的利器)

安裝:
npm install -g nrm

nrm常用命令:

nrm ls : 顯示所有registry
rm current : 顯示當(dāng)前registry
rm use xxx : 使用xxx registry

nrm ls

[root@localhost ~]# nrm ls

* npm ---- https://registry.npmjs.org/
  cnpm --- http://r.cnpmjs.org/
  taobao - https://registry.npm.taobao.org/
  nj ----- https://registry.nodejitsu.com/
  rednpm - http://registry.mirror.cqupt.edu.cn/
  npmMirror  https://skimdb.npmjs.com/registry/
  edunpm - http://registry.enpmjs.org/

nrm use taobao
再次查看,npm源已切換到taobao:

[root@localhost ~]# nrm ls

  npm ---- https://registry.npmjs.org/
  cnpm --- http://r.cnpmjs.org/
* taobao - https://registry.npm.taobao.org/
  nj ----- https://registry.nodejitsu.com/
  rednpm - http://registry.mirror.cqupt.edu.cn/
  npmMirror  https://skimdb.npmjs.com/registry/
  edunpm - http://registry.enpmjs.org/

淘寶 NPM 鏡像
是一個(gè)完整 npmjs.org 鏡像蹦误,你可以用此代替官方版本(只讀)劫拢,同步頻率目前為 10分鐘 一次以保證盡量與官方服務(wù)同步。

接下來强胰,就可以隨意使用npm安裝node模塊包了舱沧。
如:npm install -g npm-check yarn serve pm2 typescript

7. MongoDB:

MongoDB 是一個(gè)基于分布式文件存儲(chǔ)的數(shù)據(jù)庫(kù)。由C++語(yǔ)言編寫偶洋。旨在為WEB應(yīng)用提供可擴(kuò)展的高性能數(shù)據(jù)存儲(chǔ)解決方案熟吏。
MongoDB是一個(gè)介于關(guān)系數(shù)據(jù)庫(kù)和非關(guān)系數(shù)據(jù)庫(kù)之間的產(chǎn)品,是非關(guān)系數(shù)據(jù)庫(kù)當(dāng)中功能最豐富玄窝,最像關(guān)系數(shù)據(jù)庫(kù)的牵寺。他支持的數(shù)據(jù)結(jié)構(gòu)非常松散,是類似json格式恩脂,因此可以存儲(chǔ)比較復(fù)雜的數(shù)據(jù)類型帽氓。Mongo最大的特點(diǎn)是他支持的查詢語(yǔ)言非常強(qiáng)大,其語(yǔ)法有點(diǎn)類似于面向?qū)ο蟮牟樵冋Z(yǔ)言俩块,幾乎可以實(shí)現(xiàn)類似關(guān)系數(shù)據(jù)庫(kù)單表查詢的絕大部分功能黎休,而且還支持對(duì)數(shù)據(jù)建立索引。

安裝 MongoDB:

首先創(chuàng)建源玉凯,創(chuàng)建 repo文件势腮,下面我們 官方安裝方法安裝:

# 在/etc/yum.repos.d/目錄下創(chuàng)建文件mongodb-org-3.6.repo,它包含MongoDB倉(cāng)庫(kù)的配置信息漫仆,內(nèi)容如下:
# 復(fù)制代碼, 代碼如下:
[mongodb-org-3.6]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/x86_64/  
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc
# $releasever 為你的Linux發(fā)行版本

yum 安裝 MongoDB

yum install -y mongodb-org-3.6.3

啟動(dòng)MongoDB
systemctl start mongod

設(shè)置開機(jī)自啟
systemctl enable mongod

配置MongoDB:

MongoDB默認(rèn)是不開啟權(quán)限認(rèn)證的捎拯,但自從上次MongoDB爆發(fā)了贖金門事件,還是很有開啟MongoDB的權(quán)限認(rèn)證的必要盲厌。

開啟認(rèn)證也很簡(jiǎn)單署照,在配置文件(默認(rèn)是/etc/mongod.conf)里面進(jìn)行配置即可:

security:
  authorization: enabled
#2.6前的版本為auth = true

重啟數(shù)據(jù)庫(kù)后,再次進(jìn)入數(shù)據(jù)庫(kù)進(jìn)行插入等操作狸眼,就會(huì)提示錯(cuò)誤了藤树。這說明權(quán)限認(rèn)證生效了,未認(rèn)證通過的用戶再也不能使用數(shù)據(jù)庫(kù)了(即使能進(jìn)mongo shell)拓萌。

這時(shí)我們需要一個(gè)“超級(jí)管理員”來創(chuàng)建岁钓、分配管理員給指定數(shù)據(jù)庫(kù)。

MongoDB的開發(fā)者早已經(jīng)想到了這一步。MongoDB自帶一個(gè)數(shù)據(jù)庫(kù)叫admin屡限,這個(gè)數(shù)據(jù)庫(kù)用來管理所有數(shù)據(jù)庫(kù)的品嚣,類似于MySQL的mysql數(shù)據(jù)庫(kù)。如果這個(gè)數(shù)據(jù)庫(kù)的管理員賬戶還沒有建立钧大,那么任何人都可以在admin數(shù)據(jù)庫(kù)里面新建管理員賬戶翰撑。

--進(jìn)入admin數(shù)據(jù)庫(kù)
use admin;
--運(yùn)行db.createUser方法新建用戶
db.createUser({user: '超級(jí)管理員用戶名', pwd: '密碼', roles: [{role: 'userAdminAnyDatabase', db: 'admin'}]})

createUser方法必須傳入一個(gè)有user(用戶名)、pwd(密碼)啊央,roles(角色)三個(gè)屬性的JSON對(duì)象眶诈。不同roles擁有不同權(quán)限,比如:數(shù)據(jù)庫(kù)讀瓜饥、數(shù)據(jù)庫(kù)寫逝撬、數(shù)據(jù)庫(kù)用戶管理等等,其中角色userAdminAnyDatabase 可以看做是“超級(jí)管理員”乓土,我們建立該角色的用戶后宪潮,就可以用這個(gè)用戶來管理其他用戶了。

MongoDB內(nèi)置角色:

(1).數(shù)據(jù)庫(kù)用戶角色
針對(duì)每一個(gè)數(shù)據(jù)庫(kù)進(jìn)行控制趣苏。
read :提供了讀取所有非系統(tǒng)集合狡相,以及系統(tǒng)集合中的system.indexes, system.js,system.namespaces
readWrite: 包含了所有read權(quán)限,以及修改所有非系統(tǒng)集合的和系統(tǒng)集合中的system.js的權(quán)限食磕。
(2).數(shù)據(jù)庫(kù)管理角色
每一個(gè)數(shù)據(jù)庫(kù)包含了下面的數(shù)據(jù)庫(kù)管理角色尽棕。
dbOwner:該數(shù)據(jù)庫(kù)的所有者,具有該數(shù)據(jù)庫(kù)的全部權(quán)限芬为。
dbAdmin:一些數(shù)據(jù)庫(kù)對(duì)象的管理操作萄金,但是沒有數(shù)據(jù)庫(kù)的讀寫權(quán)限。(參考:http://docs.mongodb.org/manual/reference/built-in-roles/#dbAdmin
userAdmin:為當(dāng)前用戶創(chuàng)建媚朦、修改用戶和角色氧敢。擁有userAdmin權(quán)限的用戶可以將該數(shù)據(jù)庫(kù)的任意權(quán)限賦予任意的用戶。
(3).集群管理權(quán)限
admin數(shù)據(jù)庫(kù)包含了下面的角色询张,用戶管理整個(gè)系統(tǒng)孙乖,而非單個(gè)數(shù)據(jù)庫(kù)。這些權(quán)限包含了復(fù)制集和共享集群的管理函數(shù)份氧。
clusterAdmin:提供了最大的集群管理功能唯袄。相當(dāng)于clusterManager, clusterMonitor, and hostManager和dropDatabase的權(quán)限組合。
clusterManager:提供了集群和復(fù)制集管理和監(jiān)控操作蜗帜。擁有該權(quán)限的用戶可以操作config和local數(shù)據(jù)庫(kù)(即分片和復(fù)制功能)恋拷。
clusterMonitor:僅僅監(jiān)控集群和復(fù)制集。
hostManager:提供了監(jiān)控和管理服務(wù)器的權(quán)限厅缺,包括shutdown節(jié)點(diǎn)蔬顾,logrotate, repairDatabase等宴偿。
備份恢復(fù)權(quán)限:admin數(shù)據(jù)庫(kù)中包含了備份恢復(fù)數(shù)據(jù)的角色。包括backup诀豁、restore等等窄刘。
(4).所有數(shù)據(jù)庫(kù)角色
admin數(shù)據(jù)庫(kù)提供了一個(gè)mongod實(shí)例中所有數(shù)據(jù)庫(kù)的權(quán)限角色:
readAnyDatabase:具有read每一個(gè)數(shù)據(jù)庫(kù)權(quán)限。但是不包括應(yīng)用到集群中的數(shù)據(jù)庫(kù)舷胜。
readWriteAnyDatabase:具有readWrite每一個(gè)數(shù)據(jù)庫(kù)權(quán)限娩践。但是不包括應(yīng)用到集群中的數(shù)據(jù)庫(kù)。
userAdminAnyDatabase:具有userAdmin每一個(gè)數(shù)據(jù)庫(kù)權(quán)限烹骨,但是不包括應(yīng)用到集群中的數(shù)據(jù)庫(kù)翻伺。
dbAdminAnyDatabase:提供了dbAdmin每一個(gè)數(shù)據(jù)庫(kù)權(quán)限,但是不包括應(yīng)用到集群中的數(shù)據(jù)庫(kù)展氓。
(5). 超級(jí)管理員權(quán)限
root: dbadmin到admin數(shù)據(jù)庫(kù)穆趴、useradmin到admin數(shù)據(jù)庫(kù)以及UserAdminAnyDatabase。但它不具有備份恢復(fù)遇汞、直接操作system.*集合的權(quán)限,但是擁有root權(quán)限的超級(jí)用戶可以自己給自己賦予這些權(quán)限簿废。
(6). 備份恢復(fù)角色:backup空入、restore。
(7). 內(nèi)部角色:__system

十分復(fù)雜族檬,為了簡(jiǎn)單起見歪赢,就講其中兩個(gè):read、readWrite也就是常用的讀數(shù)據(jù)庫(kù)和讀寫數(shù)據(jù)庫(kù)单料。

這里有一個(gè)不大不小的坑埋凯,就是你要給其他數(shù)據(jù)庫(kù)創(chuàng)建用戶,都必須先到admin數(shù)據(jù)庫(kù)扫尖,認(rèn)證剛才新建的那個(gè)admin用戶白对,然后再切換到其他數(shù)據(jù)庫(kù)才能建立用戶。

建立了admin用戶之后换怖,還必須先進(jìn)入admin數(shù)據(jù)庫(kù)進(jìn)行認(rèn)證:

步驟如下:

use admin;
db.auth('超級(jí)管理員用戶名', '密碼')

然后切換到數(shù)據(jù)庫(kù)a甩恼,給數(shù)據(jù)庫(kù)a創(chuàng)建用戶

use 數(shù)據(jù)庫(kù)a;
db.createUser({user: '用戶a', pwd: '密碼', roles: [{role: 'readWrite', db: '數(shù)據(jù)庫(kù)a'}]})
db.auth('用戶a', '密碼')

現(xiàn)在,就可以使用用戶a管理數(shù)據(jù)庫(kù)a沉颂,進(jìn)行正常的讀寫了条摸。

開啟遠(yuǎn)程登錄:

在配置文件(默認(rèn)是/etc/mongod.conf)中,將 bindIp 127.0.0.1 改為 0.0.0.0

# network interfaces
net:
  port: 27017
  bindIp: 0.0.0.0  # Listen to local interface only, comment to listen on all interfaces.

最后是MongoDB圖形化管理工具:

推薦使用Studio 3T(前身是robomongo)铸屉,雖然收費(fèi)钉蒲,但是基礎(chǔ)功能免費(fèi),足夠了彻坛。

嗯顷啼,待續(xù)吧帆赢。。线梗。**

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末椰于,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子仪搔,更是在濱河造成了極大的恐慌瘾婿,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,968評(píng)論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件烤咧,死亡現(xiàn)場(chǎng)離奇詭異偏陪,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)煮嫌,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門笛谦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人昌阿,你說我怎么就攤上這事饥脑。” “怎么了懦冰?”我有些...
    開封第一講書人閱讀 153,220評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵灶轰,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我刷钢,道長(zhǎng)笋颤,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,416評(píng)論 1 279
  • 正文 為了忘掉前任内地,我火速辦了婚禮伴澄,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘阱缓。我一直安慰自己非凌,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,425評(píng)論 5 374
  • 文/花漫 我一把揭開白布茬祷。 她就那樣靜靜地躺著清焕,像睡著了一般。 火紅的嫁衣襯著肌膚如雪祭犯。 梳的紋絲不亂的頭發(fā)上秸妥,一...
    開封第一講書人閱讀 49,144評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音沃粗,去河邊找鬼粥惧。 笑死,一個(gè)胖子當(dāng)著我的面吹牛最盅,可吹牛的內(nèi)容都是我干的突雪。 我是一名探鬼主播起惕,決...
    沈念sama閱讀 38,432評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼咏删!你這毒婦竟也來了惹想?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,088評(píng)論 0 261
  • 序言:老撾萬榮一對(duì)情侶失蹤督函,失蹤者是張志新(化名)和其女友劉穎嘀粱,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體辰狡,經(jīng)...
    沈念sama閱讀 43,586評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡锋叨,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,028評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了宛篇。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片娃磺。...
    茶點(diǎn)故事閱讀 38,137評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖叫倍,靈堂內(nèi)的尸體忽然破棺而出偷卧,到底是詐尸還是另有隱情,我是刑警寧澤段标,帶...
    沈念sama閱讀 33,783評(píng)論 4 324
  • 正文 年R本政府宣布涯冠,位于F島的核電站,受9級(jí)特大地震影響逼庞,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜瞻赶,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,343評(píng)論 3 307
  • 文/蒙蒙 一赛糟、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧砸逊,春花似錦璧南、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,333評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)慷吊。三九已至寝殴,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間缭召,已是汗流浹背员辩。 一陣腳步聲響...
    開封第一講書人閱讀 31,559評(píng)論 1 262
  • 我被黑心中介騙來泰國(guó)打工盒粮, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人奠滑。 一個(gè)月前我還...
    沈念sama閱讀 45,595評(píng)論 2 355
  • 正文 我出身青樓丹皱,卻偏偏與公主長(zhǎng)得像妒穴,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子摊崭,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,901評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容