當前位置:首頁 » 雲伺服器 » linux伺服器怎麼用

linux伺服器怎麼用

發布時間: 2024-03-07 23:45:20

⑴ 怎麼連接linux伺服器

Linux伺服器端准備工作

  • 首先需要在Linux伺服器上安裝openssh-server,打開Linux伺服器命令行終端,鍵入下面命令

    sudo apt-get install openssh-server
  • 1

  • 修改Linux伺服器的ssh配置文件

  • sudo gedit /etc/ssh/sshd_config1

  • 先使用」#」注釋掉PermitRootLogin without-password

  • 添加一行PermitRootLogin yes

  • 然後開啟ssh服務

    ps -e | grep ssh
  • 1

  • 客戶端准備工作

    客戶端既可以是Windows系統用戶,也可以是Linux系統用戶,下面我們就分別介紹這兩種系統如何來連接Linux伺服器

    Ubuntu系統

  • 一般情況下,Ubuntu系統都是自帶了openssh-client,如果沒有安裝,在命令行鍵入下面

  • sudo apt-get install openssh-client1

  • 如果已經安裝好了openssh-client,那麼可以使用下面的命令連接伺服器

  • ssh username@IP1

  • 這里的username是伺服器的一個用戶賬號,IP也是伺服器的IP地址

  • Windows系統

  • Windows平台下有許多提供ssh服務的軟體,我們在這里使用Xshell 5軟體

  • 打開Xshell 5軟體,點擊左上角的新建

  • 在主機處輸入Linux伺服器的IP地址,協議選擇為ssh,埠號為22

  • 點擊確定按鈕,再點擊連接,此時會彈出一個交互窗口,輸入伺服器的一個賬戶和密碼

  • 數據傳輸

    下面我們就分別介紹Windows和Linux兩種系統如何與Linux伺服器進行數據傳輸

    Ubuntu系統

  • 在於伺服器連接正常後,再次打開一個命令行終端,鍵入以下命令,就可以將客戶端數據傳入伺服器

  • scp ./filename username@IP:/home/bio321/Desktop1

  • 也可以將伺服器端的數據傳入到客戶端,鍵入以下命令

  • scp username@IP:/home/bio321/Desktop/filename ./data 1

  • Windows系統

  • 在Linux伺服器安裝lrzsz,伺服器端打開命令行,鍵入以下命令安裝

  • sudo apt-get install lrzsz1

  • 將客戶端數據傳入服務端,服務端打開命令行,鍵入命令rz

  • 將服務端數據傳入客戶端,服務端打開命令行,鍵入命令sz

⑵ 如何遠程管理Linux伺服器

遠程管理Linux伺服器,目前來說有2種方式,一種是命令行管理,一種是桌面管理,下面我簡單介紹一下,感興趣的朋友可以嘗試一下:

命令行管理

這里主要是藉助終端軟體來實現,通過ssh遠程登錄到Linux伺服器,然後執行相關命令來完成對Linux伺服器的管理,這是最常見也是最主要的管理Linux伺服器的方式,至於終端軟體的話,這個就非常多啦,下面我簡單介紹幾個:

mobaxterm

這是一個非常輕巧靈活的終端軟體,在猛豎旦業界非常受歡迎,不僅支持ssh、telnet遠程登錄Linux伺服器,還支持ftp、sftp等文件傳輸協議,除此之外,還可以進行vnc、rdp、xdmcp遠程桌面連接,對於日常管理Linux伺服器來說,是一個非常不錯的軟體:

finalshell

這是一個國產免費的終端軟體,支持跨平台使用,不僅是一個功能強大的ssh客戶端,還是一個功能強大的運維和管理工具,可以很方便的上傳、下載文件,還可以實時觀察到伺服器的負載情況(包括內存和CPU的使用率等),對於管理Linux伺服器來說,也是一個非常不錯的選擇:

xshell

這也是一個使用非常廣泛的終端軟體,基本功能和枝擾前面2個終端軟體相差不多,支持ssh、telnet、rlogin等遠程登錄,內建多標簽和多終端分屏,可以很方便的使用ftp,sftp等協議上傳下載文件,對於日常管理Linux伺服器來說,也是一個非常不錯的軟體:

桌面管理

這里主要是藉助遠程桌面控制軟體來實現,分別在本地和Linux伺服器端安裝遠程桌面控制軟體,然後驗證登錄,成功後就可以直接操作Linux伺服器了,至於遠程桌面控制軟體的話,這個也就非常多啦,下面我簡單介紹幾個:

向日葵

這是一個國產的遠程桌面控制軟體,只需要在本地端和Linux服務端同時安裝這個軟體,然後在本地端輸入Linux伺服器端唯一的識別碼,驗證成功後,就可以直接遠程桌面操作Linux伺服器了,和操作本地系統的效果是一樣:

teamviewer

這也是一個不錯的遠程式控制制軟體,基本功能和向日葵差不多,個人使用完全免費,也需要在本地端和Linux伺服器端同時安裝這個軟體,然後在本地端輸入Linux伺服器端的ID和密碼,驗證成功後,就可以遠程桌面操作Linux伺服器了:纖友

anydesk

這是一個非常輕巧靈活的遠程桌面控制軟體,安裝包非常輕巧,大概也就2.8兆,直接雙擊就可啟動,使用方式和前面2個軟體類似,也需要在本地端和Linux伺服器端同時安裝這個軟體,然後在本地端輸入Linux伺服器端唯一的連接地址,成功驗證後,就可直接遠程操作Linux伺服器了:

目前,就介紹這2種管理Linux伺服器的方式吧,最主要的還是終端命令行,更輕便靈活,適合於專業人士,遠程桌面控制也有,但使用的比較少,適合於普通用戶,只要你熟悉一下上面的軟體,多操作幾遍,很快就能掌握的,網上也有相關教程和資料,介紹的非常詳細,感興趣的話,可以搜一下,希望以上分享的內容能對你有所幫助吧,也歡迎大家評論、留言進行補充。

⑶ linux mail伺服器怎麼用

一、概述:

在配置郵件伺服器之前,先解釋幾個概念。

通常使用Email都很容易,但是Internet的郵件系統是通過幾個復雜的部分連接而成的,對於最終用戶而言,我們熟悉的Outlook,Foxmail等都是用來收信和發信的,稱之為MUA:Mail User Agent,郵件用戶代理。

MUA並非直接將郵件發送至收件人手中,而是通過MTA:Mail Transfer Agent,郵件傳輸代理代為傳遞,Sendmail和Postfix就是扮演MTA的角色。

一封郵件從MUA發出後,可能通過一個或多個MTA傳遞,最終到達MDA:Mail Delivery Agent,郵件投遞代理,郵件到達MDA後,就存放在某個文件或特殊的資料庫里,我們將這個長期保存郵件的地方稱之為郵箱。

一旦郵件到達郵箱,就原地不動了,等用戶再通過MUA將其取走,就是用Outlook,Foxmail等軟體收信的過程。

所以一封郵件的流程是:

發件人:MUA --發送--> MTA -> 若干個MTA... -> MTA -> MDA <--收取-- MUA:收件人

MUA到MTA,以及MTA到MTA之間使用的協議就是SMTP協議,而收郵件時,MUA到MDA之間使用的協議最常用的是POP3或IMAP。

需要注意的是,專業郵件服務商都有大量的機器來為用戶服務,所以通常MTA和MDA並不是同一台伺服器,因此,在Outlook等軟體里,我們需要分別填寫SMTP發送伺服器的地址和POP3接收伺服器的地址。

Linux系統下郵件伺服器的搭建(Postfix+Dovecot)

對於網站來說,發送各種例如注冊通知的郵件是很基本的一個需求,之前我一直用的是騰訊的企業郵箱,感覺挺方便的,直接可以綁定QQ郵箱接收郵件,網站配置一下SMTP也就可以發出郵件。

但是在前幾天由於有重要信息需要立即通知用戶,所以選擇了群發郵件的方式。在當我以為一切都是辣么完美的時候,陸續有用戶過來問我什麼情況,我都會跟他們說請查收郵件,但是有好幾個人說並沒有任何

郵件,於是我試著再發一次,結果返回了錯誤提示。在網上找了下原因,後來看到這個:各大免費郵箱郵件群發賬戶SMTP伺服器配置及SMTP發送量限制情況,才知道是因為發信數量限制了。

所以只好另尋出路了,然後我在知乎上面找到了很多個提供郵件發送的服務商,大概有這些:SendGrid、MailChimp、Amazon SES、SendCloud、Mailgun等等,在看了不少人的建議之後,我選擇了Mailgun。

Mailgun注冊和配置都挺簡單,很快我就成功的發出了第一封郵件,懷著這封欣喜,我又發送了幾封郵件,可是悲劇發生在第三封郵件,Mailgun後台有詳細的發送記錄,這個非常不錯,在後台我看到我的郵件被拒收了,原因大概是該伺服器IP的發信頻率超過騰訊郵箱限制。所以這里就涉及到IP的問題,目前第三方的郵件發送服務普遍都是共享IP(後面還試過SendCloud、),而共享IP並不能確定是否已經達到接收方的數量限制,一旦達到了就無法再發送。這就是說還需要使用獨立IP才能保證郵件有較高的到達率,接著就看了各家的獨立IP價格,一般都是二十幾甚至四十幾美刀一個月,這對於我們這種小站長郵件需求不高的來說確實有點貴,買台VPS都不用這個價吧。

經過上面這些折騰,也算明白了如果要想順暢的發出郵件的話,除了花錢,就只有自己搭建一個郵件伺服器了。

好了,下面開始進入正題,教你搭建一個簡單的郵件伺服器。

用於搭建的伺服器信息

阿里雲 Centos 6.5 32位

Postfix-2.8.12.tar.gz Postfix MTA(郵件傳輸代理)
Dovecot-2.1.8.tar.gz IMAP 和 POP3 郵件伺服器
Postfixadmin-2.3.5.tar.gz 採用php編寫的開源WEB郵箱及域名賬號管理工具
Roundcubemail-0.8.1.tar.gz 採用php編寫的開源IMAP郵件WEB客戶端

安裝過程

1.安裝Postfix

yum -y install postfix

安裝完成還需要替換系統自帶的sendmail:

rpm -e sendmail
或者
yum remove sendmail

修改MTA(默認郵件傳輸代理)

alternatives --config mta

然後直接回車即可。

檢查一下是不是已經設置成功了。

alternatives --display mta

第一行可以看到mta的狀態。 例如:mat - status is manual.

2.安裝Dovecot

yum -y install dovecot

3.配置Postfix

編輯/etc/postfix/main.cf,可以下載下來修改,也可以使用vi進行編輯:

vi /etc/postfix/main.cf

修改如下:

# 75行: 取消注釋,設置hostname
myhostname = mail.lomu.me
# 83行: 取消注釋,設置域名
mydomain = lomu.me
# 99行: 取消注釋
myorigin = $mydomain
# 116行: 修改
inet_interfaces = all
# 119行: 推薦ipv4,如果支持ipv6,則可以為all
inet_protocols = ipv4
# 164行: 添加
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
# 264行: 取消注釋,指定內網和本地的IP地址范圍
mynetworks = 127.0.0.0/8, 10.0.0.0/24
# 419行: 取消注釋,郵件保存目錄
home_mailbox = Maildir/
# 571行: 添加
smtpd_banner = $myhostname ESMTP

# 添加到最後
# 規定郵件最大尺寸為10M
message_size_limit = 10485760
# 規定收件箱最大容量為1G
mailbox_size_limit = 1073741824
# SMTP認證
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions = permit_mynetworks,permit_auth_destination,permit_sasl_authenticated,reject

修改好了之後使用/etc/rc.d/init.d/postfix start開啟postfix,使用chkconfig postfix on將postfix開機啟動。

4.配置Dovecot

修改如下:

[root@mail ~]# vi /etc/dovecot/dovecot.conf
# 26行: 如果不使用IPv6,請修改為*
listen = *

[root@mail ~]# vi /etc/dovecot/conf.d/10-auth.conf
# 9行: 取消注釋並修改
disable_plaintext_auth = no
# 97行: 添加
auth_mechanisms = plain login

[root@mail ~]# vi /etc/dovecot/conf.d/10-mail.conf
# 30行: 取消注釋並添加
mail_location = maildir:~/Maildir

[root@mail ~]# vi /etc/dovecot/conf.d/10-master.conf
# 88-90行: 取消注釋並添加
# Postfix smtp驗證
unix_listener /var/spool/postfix/private/auth {
mode = 0666
user = postfix
group = postfix
}

[root@mail ~]# /etc/rc.d/init.d/dovecot start
Starting Dovecot Imap: [ OK ]

[root@mail ~]# chkconfig dovecot on

到這里,我們的郵件伺服器就已經搭建成功了。

5.域名解析

最後別忘了還需要進行域名解析工作。

添加一個子域名mail,A記錄解析到伺服器IP。

再添加一個MX記錄,主機記錄為空,記錄值為上面解析的二級域名mail.lomu.me,優先順序10。

注意:解析生效可能需要一段時間。


6.防火牆設置


/sbin/iptables -A INPUT -p tcp --dport 25 -j ACCEPT

/sbin/iptables -A INPUT -p tcp --dport 110 -j ACCEPT

/sbin/iptables -A INPUT -p tcp --dport 143 -j ACCEPT

突破封鎖25口的轉發

/sbin/iptables -t nat -A PREROUTING -p tcp -m tcp --dport 10025 -j REDIRECT --to-ports 25

7.郵箱使用

一切都弄好以後,就可以使用Foxmail等第三方軟體來收發郵件了。在這里需要說一下,系統用戶就是郵件的用戶,例如root,就是一個郵箱用戶,郵箱是[email protected],密碼就是root的密碼,所以需要創建用戶,只要使用useradd創建用戶,再使用passwd設置密碼

好了,假如我們創建一個admin的用戶:

# 創建用戶
useradd admin
#設置密碼,會要求輸入兩次密碼
passwd admin

接下來登錄Foxmail,如圖:


點擊創建,進入:

這里需要注意,郵件賬號是admin,並不是郵箱,另外我們沒有配置SSL,所以也不要勾選。 接下來點擊創建,如果一切正常的話,你已經成功了。



⑷ linux怎麼啟動mysqld伺服器

一、以非特權用戶運行MySQL伺服器
在討論如何啟動MySQL伺服器之前,讓我們考慮一下應該以什麼用戶身份運行MySQL伺服器。伺服器可以手動或自動啟動。如果你手動啟動它,伺服器以你登錄Unix(Linux)的用戶身份啟動,即如果你用paul登錄Unix並啟動伺服器,它用paul運行;如果你用su命令切換到root,然後運啟動伺服器,則它以root運行。然而,大多數情況下你可能不想手動啟動伺服器,最有可能是你安排MySQL伺服器在系統引導時自動啟動,作為標准引導過程的一部分,在Unix下,該引導過程由系統的Unix用戶root執行,並且任何在該過程中運行的進程均以root許可權運行。
你應該牢記MySQL伺服器啟動過程的兩個目標:
你想讓伺服器以某個非root用戶運行。一般地,你想限制任何運行進程的能力,除非確實需要root許可權,而MySQL不需要。
你想讓伺服器始終以同一個用戶運行,此時用一個用戶而其他時候以另一個不同的用戶運行伺服器是很不方便的,這造成了為文件和目錄以具有不同屬主的數據目錄下被創建,並可能導致伺服器不能訪問資料庫或表,這看你以哪個用戶運行。統一用同一個用戶運行伺服器是你避免這個問題。
要一個普通的非特權用戶運行伺服器,按照下列步驟:
選擇一個用於運行伺服器的用戶,mysqld可以用任何用戶運行。但在概念上較清晰的是為MySQL操作創建一個單獨的用戶。你也可以特別為MySQL選擇一個用戶組。本文使用mysqladm和mysqlgrp分別作為用戶名和用戶組名。
如果你已在自己的賬號下安裝好了MySQL且沒有系統上的特殊管理許可權,你將可能在你自己的用戶ID下運行伺服器。在這種情況下,用你自己的登錄名和用戶組代替mysqladm和mysqlgrp。
如果你在RedHat Linux上用rpm文件安裝MySQL,該安裝將自動創建一個名為mysql的賬號,用該賬號代替mysqladm。
如果必要,用系統通常的創建用戶的過程創建伺服器賬號,你需要用root做它。
如果伺服器在運行,停止它。
修改數據目錄和任何子目錄和文件的屬主,這樣使得mysqladm用戶擁有它們。例如,如果數據目錄是/usr/local/var,你可以如下設置mysqladm的屬主(你需要以root運行這些命令):

#cd /usr/local/var
#chown -R mysqladm.mysqlgrp

修改數據目錄和任何子目錄和文件的許可權,使得它們只能由mysqladm用戶訪問。如果數據目錄是/usr/local/var,你可以設置由mysqladm擁有的任何東西:

# cd /usr/local/var
# chmod -R go-rwx
當你設置數據目錄及其內容的屬主和模式時,注意符號連接。你需要順著它們並改變它們指向的文件或目錄的屬主和模式。如果連接文件的目錄位於不屬於你的地方,會有些麻煩,你可能需要root身份。
在你完成了上述過程後,你應該確保總是在以mysqladm或root登錄時啟動伺服器,在後者,確定指定--user=mysqladm選項,使伺服器能將其用戶ID切換到mysqladm(同時也適用於系統啟動過程)。
--user選項在MySQL 3.22中引入,如果你有老版本,你可以使用su命令告訴系統在以root運行時在特定的用戶下運行伺服器。
二、啟動伺服器的方法
在我們確定了用於運行伺服器的賬號後,你可以選擇如何安排啟動伺服器。你可以從命令行手動或在系統引導過程中自動地運行它。對於啟動伺服器由三種主要方法:
直接調用mysqld。
這可能是最不常用的方法,建議不要多使用,因此本文不詳細介紹。
調用safe_mysqld腳本
safe_mysqld試圖確定伺服器程序和數據目錄的位置。然後用反映這些值的選項調用伺服器。safe_mysqld將標准出錯設備從伺服器重定位到數據目錄下的一個出錯文件,使得有它的一條記錄。在啟動伺服器後,safe_mysqld也監視它並且如果它死掉則重啟它。safe_mysqld常用於BSD風格的Unix系統。
如果你以root或在系統引導期間啟動sqfe_mysqld,出錯日誌由root擁有,這可能在你以後試圖用一個非特權用戶調用safe_mysqld時將導致「permission denied」(許可權拒絕)錯誤,刪除出錯日誌再試一下。
調用mysql.server腳本。
這個腳本通過有意用於System V的啟動和停止系統上的safe_mysqld.mysql.server來啟動伺服器,該系統包含幾個包含在機器進入或退出一個給定運行級別時被點用的腳本目錄。它可以用一個start或stop參數點用以表明你是想啟動還是想停止伺服器。
safe_mysqld腳本安裝在MySQL安裝目錄的bin目錄下,或可在MySQL源代碼分發的scripts目錄下找到。mysql.server腳本安裝在MySQL安裝目錄下的share/mysqld目錄下或可以在MySQL源代碼分發的support_files目錄下找到。如果你想使用它們,你需要將它們拷貝到適當的目錄下。
對BSD風格的系統(FreeBSD,OpenBSD等),通常在/etc目錄下有幾個文件在引導時初始化服務,這些文件通常有以「rc」開頭的名字,且它有可能由一個名為「rc.local」的文件(或類似的東西),特意用於啟動本地安裝的服務。在這樣的系統上,你可能將類似於下列的行加入rc.local文件中以啟動伺服器(如果safe_mysqld的目錄在你的系統上不同,修改它即可):
if [ -x /usr/local/bin/safe_mysqld ]; then
/usr/local/bin/safe_mysqld &
fi

對於對於System V風格的系統,你可以通過將mysql.server放在/etc下適當的啟動目錄下來安裝它。如果你運行Linux並從一個RPM文件安裝MySQL,這些已經為你做好了,否則將腳本安裝在主啟動目錄下,並將指向它的連接放在適當的運行級別目錄下。你也可以使腳本只能由root啟動。
啟動文件的目錄布局各系統不同,所以你需要檢查一下看看你的系統如何組織它們。例如在Linux PPC上,目錄是/etc/rc.d和/etc/rc.d/rc3.d,這樣你可以這樣安裝腳本:
#cp mysql.server /etc/rc.d/init.d
#cd /etc/init.d
#chmod 500 mysql.server
#cd /etc/rc.d/rc3.d
#ln -s ../init.d/mysql.server S99mysql

在solaris上,主腳本目錄是/etc/init.d,並且運行級別目錄是/etc/rd2.d,所以命令看上去像這樣:
#cp mysql.server /etc/rc.d/init.d
#cd /etc/init.d
#chmod 500 mysql.server
#cd /etc/rc2.d
#ln -s ../init.d/mysql.server S99mysql

在系統啟動時,S99mysql腳本將自動用一個start參數調用。如果你有chkconfig命令(Linux上有),你可以由它幫助安裝mysql.server腳本而不是象上面那樣手工運行上述命令。
2.1 指定啟動選項
如果你想在伺服器啟動時指定額外的啟動選項,你可有兩種方法。你可以修改你使用的啟動腳本(safe_mysqld或mysql.server)並直接在調用伺服器的行上指定選項,或在一個選項文件中指定選項。建議你如果可能在一個全局選項文件中指定選項,它通常位於/etc/my.cnf(Unix)或c:\my.cnf(Windows)。
某些種類的信息無法以伺服器選項指定。對於這些你可能需要修改safe_mysqld。例如,如果你的伺服器不能正確選擇本地時區而以GMT返回時間值,你可以設置TZ環境變數給它一個指示。如果你用safe_mysqld或mysql.server啟動伺服器,你可以將一個時區設置加到safe_mysqld。找到啟動伺服器的行並在該行前加入下列命令:
TZ=US/Central
export TZ

上面命令的語法是Solaris的,對於其他系統語法可能不同,請查閱相關手冊。如果你確實修改了你的啟動腳本,要記住下次你安裝MySQL時(如升級到新版本),你的修改將失去,除非你首先在別處復制了啟動腳本。在安裝了新版本後,比較新舊版本的腳本,看看你需要重建什麼改變。
2.2 在啟動時檢查你的表
除了安排你的伺服器在系統引導時啟動,你可能要安裝myisamchk和isamchk腳本,以在伺服器啟動前檢查你的表。你可能在一個崩潰後重啟,有可能表已經損害,在啟動前檢查它是一個發現問題的好方法。
三、停止伺服器
要手工啟動伺服器,使用mysqladmin:
%mysqladmin shutdown
要自動停止伺服器,你不需做特別的事情。BSD系統一般通過向進程發一個TERM信號停止服務,它們或者正確應答它或被粗魯地殺死。mysqld在它收到這個信號時以終止作為應答。對於用mysql.server啟動伺服器的System V風格的系統,停止進程將用一個stop參數調用該腳本,告訴伺服器終止,當然假定你已安裝了mysql.server。
四、如果你不能連接伺服器,如何重新獲得對伺服器的控制
在某些情況下,你可能由於不能連接它而手工重啟伺服器。當然,這有點矛盾。因為一般你通過連接伺服器而手工關掉它,那麼這種情況如何會出現。
首先,MySQL root口令可以已經設置為你不知道的值,這可能發生在你修改口令時,例如,如果你在輸入新口令時偶然鍵入一個不可見的控制字元。你也可能忘記口令。
其次,連接localhost通常通過一個Unix域套接字文件進行,一般是/tmp/mysql.sock。如果套接字文件被刪除了,本地客戶就不能連接。這可能發生在你的系統運行一個cron任務刪除了/tmp下的臨時文件。
如果你因為丟失套接字文件而不能連接,你可以簡單地通過重啟伺服器重新創建得到它。因為伺服器在啟動時重新創建它。這里的騙局是你不能用套接字建立連接因為它不見了,你必須建立一個TCP/IP連接,例如,如果伺服器主機是pit.snake.net,你可以這樣連接:
%mysqladmin -p -u root -h pit.snake.net shutdown
如果套接字文件被一個cron任務刪除,問題將重復出現,除非你修改cron任務或使用一個或使用一個不同的套接字文件,你可以使用全局選項文件指定一個不同的套接字,例如,如果數據目錄是/usr/local/var,你可以通過將下列行加入/etc/my.cnf中,將套接字文件移到那裡:
[mysqld]
socket=/usr/local/var/mysql.sock

[client]
socket=/usr/local/var/mysql.sock

對伺服器和客戶均指定路徑名,使得它們都使用同一個套接字文件。如果你只為伺服器設置路徑,客戶程序將仍然期望在原位置執行套接字,在修改後重啟伺服器,使它在新位置創建套接字。
如果你由於忘記root口令或已經將它設置為不同於認為的值而不能連接,你需要重新獲得對伺服器的控制,是你能再次設置口令:
中斷伺服器
如果你以root登錄伺服器主機,你可以用kill命令終止伺服器。你可以使用ps命令或通過尋找伺服器的PID文件(通常在數據目錄中)找出伺服器進程的ID。
最好是首先嘗試用一個向伺服器發出一個TERM信號的正常kill看它是否將以正常終止應答。這種方式下,表和日誌將正確地被清空。如果伺服器阻塞並且不應答一個正常終止信號,你可以用kill -9強制終止它。這是最後的手段了,因為這可能有未清空的修改,而且你冒著讓表處於一個不一致狀態的風險。
如果你用kill -9終止伺服器,要確保在啟動伺服器前用myisamchk和isamchk檢查你的表。
用--skip-grant-table選項重啟伺服器。
這告訴伺服器不使用授權表驗證連接,這允許你以root連接而無須口令。在你已經連接後,改變root口令。
用mysqladmin flush-privileges告訴伺服器再次使用授權表啟動
如果你的mysqladmin版本不認識flash-privileges,試一試reload。
五、運行多個伺服器
大多數再一台給定的機器上運行單個MySQL伺服器,但在很多情況下,運行多個伺服器是很有用的:
你可能想測試一個伺服器的新版本,而保留你正在運行的生產伺服器。在這種情況下,你會運行不同的伺服器代碼。
操作系統一般限制每個進程的打開文件句柄數量。如果你的系統很難提高這個限制,運行多個伺服器是解決限制的一種方法。在這種情況下,你可能運行統一伺服器的多個實例。
ISP經常為其客戶提供自己的MySQL安裝,有必要涉及單獨的伺服器。在這種情況下,你可能運行同一版本的多個實例或不同版本,如果不同的客戶想要不同版本的MySQL。
很自然地,運行多個伺服器比只運行一個伺服器要復雜得多。如果你安裝多個版本,你不能在同一個地方安裝所有東西。當伺服器運行時,某些參數必須或很可能對每個伺服器是唯一的,它們包括伺服器在哪安裝、其數據目錄的路徑名、TCP/IP埠和UNIX域套接字路徑名以及用於運行伺服器的UNIX賬號(如果你不再同一賬號下運行所有伺服器)。如果你決定運行多個伺服器,一定要注意你使用的參數,是你不至於丟失對所發生的事情的蹤跡。
5.1 配置和安裝多個伺服器
如果你要運行不同版本的伺服器而不是同一版本的多個實例,你必須在不同地點安裝它們。如果你安裝二進制分發(不用RPM),它們將安裝在包含不同版本號的目錄名下。如果你從源代碼安裝,最簡單的方法是在每個版本運行configure配置MySQL安裝過程中使用--with-prefix選項使得不同分發分開,這將使得所有東西安裝在一個單獨的目錄下,你可以將目錄域分發版本號聯系起來,如,你可以象這樣配置一個MySQL分發,其中version是MySQL版本號:
%.configure --with-prefix=/usr/local/mysql-version
--with-prefix選項也決定了伺服器的一個唯一數據目錄。你可能想加上其它伺服器特定的選項,如TCP/IP埠號和套接字路徑名(--with-tcp-port和--with-unix-socket)。
如果你想運行同一版本伺服器的多個實例,任何必須基於一個伺服器特定設置的選項將需要在運行時指定。
5.2 多伺服器的啟動過程
啟動多個伺服器比使用一個伺服器要復雜。因為safe_mysqld和mysql.server均在單個伺服器設置上工作得最好。建議你仔細研究一下safe_mysqld並用它作為你的啟動過程的基礎,使用你修改的版本,你能針對你自己的需要更精確地裁剪它。
你必須處理的一個問題是如何在選項文件(my.cnf)中指定選項。對於多伺服器,你不能對於每個不同的伺服器設置使用/etc/my.cnf,你只能對所有伺服器相同的設置使用該文件。如果伺服器有一個不同的編譯進去的數據目錄位置,你可以在每個伺服器數據目錄中的my.cnf中指定所有伺服器要使用的設置,而使用DATADIR/my.cnf指定伺服器特定的設置,這里DATADIR以伺服器不同而不同。
另一種指定伺服器選項的方法是用--default-file=path_name作為命令行的第一個選項,告訴伺服器從名為path_name中的文件中讀取選項,這樣你可以把一個伺服器選項放在一個對該伺服器唯一的文件中,然後告訴伺服器在啟動時讀取該文件。注意,如果你指定這個選項,將不使用通常的選項文件如/etc/my.cnf的任何一個。
可以看看http://www.linuxprobe.com/chapter-00.html。

熱點內容
iphonex有什麼高配置 發布:2024-11-29 21:07:32 瀏覽:592
源碼會造假嗎 發布:2024-11-29 21:05:35 瀏覽:821
ubuntu怎麼解壓 發布:2024-11-29 21:04:37 瀏覽:807
我的世界伺服器如何給活塞許可權 發布:2024-11-29 21:00:57 瀏覽:446
龍村m腳本 發布:2024-11-29 17:38:10 瀏覽:784
linuxc配置文件 發布:2024-11-29 17:08:31 瀏覽:828
wow刷碎片腳本 發布:2024-11-29 15:58:24 瀏覽:592
明小子源碼 發布:2024-11-29 15:15:30 瀏覽:145
蘋果8plus什麼配置 發布:2024-11-29 14:16:36 瀏覽:677
androidmvp結構 發布:2024-11-29 14:16:34 瀏覽:536