Ⅰ 如何使用Discuz,後台備份和恢復Discuz,站點資料庫
Discuz!為方便用戶備份和恢復資料庫,已在後台內置了此功能,易於站長操作。今天在這分享一下Discuz!
x2.5論壇後台資料庫的備份和恢復方法,以及備份資料庫和恢復資料庫要注意的一些細節問題。
一、利用Discuz!後台備份資料庫
1、為備份數據完整無誤,備份數據前請站長先關閉站點;
2、利用站長許可權登錄後台——》站長——》資料庫——》備份,有兩個基本的數據備份類型:「Discuz!
和
UCenter
數據」
和
「自定義備份」;
1)、選擇「Discuz!
和
UCenter
數據」,會備份你Discuz!資料庫的所有數據表文件;(包括插件等生成的數據表)
2)、選擇「自定義備份」,按照要求勾選你要備份的數據表即可。
3、「提交」旁邊有一個「更多選項」,用戶可以根據自己的需求來設置一下更多選項,不是很懂的用戶可以不必點開更多選項設置,保持Discuz!設置的默認值就可以了;下面分析一下更多選項的技巧提示:
1)、Mysql
Dump
的速度比
Discuz!
分卷備份快很多,但需要伺服器支持相關的
Shell
許可權,同時由於
MySQL
本身的兼容性問題,通常進行備份和恢復的伺服器應當具有相同或相近的版本號才能順利進行。因此
MySQL
Dump
是有風險的:一旦進行備份或恢復操作的伺服器其中之一禁止了
Shell,或由於版本兼容性問題導致導入失敗,您將無法使用
MySQL
Dump
備份或由備份數據恢復;Discuz!
分卷備份沒有此限制;
2)、數據備份選項中的設置,僅供高級用戶的特殊用途使用,當您尚未對資料庫做全面細致的了解之前,請使用默認參數備份,否則將導致備份數據錯誤等嚴重問題;
3)、十六進制方式可以保證備份數據的完整性,但是備份文件會佔用更多的空間;
4)、壓縮備份文件可以讓您的備份文件佔用更小的空間。
4、上面選好「數據備份類型」,點擊提交就可以開始備份了,備份的數據文件會保存在站點根目錄下的data目錄的一個backup_XXXXXX文件夾里;
5、備份完資料庫後即可重新打開站點。
二、利用Discuz!後台恢復資料庫
1、為恢復數據完整無誤,恢復數據前請站長先關閉站點;
2、利用站長許可權登錄後台——》站長——》資料庫——》恢復,會看到你各次的數據備份記錄,並且有備份時間、備份數據類型等;
3、上傳恢復資料庫必須的restore.php文件;
1)、恢復數據前請在
Discuz!
X2.5
安裝文件目錄下utility文件夾內找到
restore.php
文件,然後將
restore.php
文件上傳到程序文件夾data目錄下;
2)、如果你恢復過資料庫,會在根目錄生成/data/restore.lock文件,恢復數據功能鎖定,如果您確定要恢復數據,請到伺服器上刪除./data/restore.lock。
Ⅱ [高分懸賞]Discuz X1更換資料庫伺服器後要怎樣設置
修改config文件夾下的config_global_default.php及config_ucenter_default.php 裡面的資料庫鏈接地址即可
Ⅲ discuz論壇 使用的是什麼資料庫
discuz論壇的資料庫都是你在你的伺服器上安裝discuz程序的時候向你自己伺服器的資料庫裡面執行的創建資料庫以及表的語句。都是它自動的~不需要你管的。只要你填好自己的資料庫地址,連接密碼。還有discuz的文件放到你的伺服器目錄下。
Ⅳ 安裝Discuz的時候提示資料庫出現問題
Can't connect to MySQL server on 'localhost' (10061)解決方法,需要的朋友可以參考下。
首先檢查MySQL 服務沒有啟動》如果沒有啟動,則要啟動這個服務。
昨天,重起伺服器後出現MySQL 'localhost' (10061)錯誤,開始以為是因為資料庫鏈接打開過多,資料庫資源耗盡的緣故,但是重啟伺服器以後,仍舊出現問題,於是在網上查找解決方法。大體如下:
解決辦法:
第一步
刪除c:\windows\下面的my.ini
第二步
打開c:\mysql\bin\winmysqladmin.exe 輸入用戶名 和密碼
第三步 在dos下 輸入 mysqld-nt -remove 刪除服務
在接著輸入 mysqld-nt -install
第四步 輸入mysql 啟動成功。
其它可參考的方法:
1.看看hosts文件中localhost是不是指向127.0.0.1
2.如果是沒啟動mysql服務,則可運行net start mysql。
3.一些相關命令:
mysqld-nt --install #啟動Mysql
mysql #運行Mysql
mysql -h ipAddress -u username -p
或者:直接去bin里點mysqld.exe或mysqld-nt.exe,看下它的進程能否正常運行,如不行,再去控制面板,服務里去啟動它,看下是什麼錯誤。如果不行,就在添加刪除里刪去mysql,然後再重裝mysql,一般都能解決問題,可以在安裝前備份一下DATA。
Error: Can't connect to MySQL server on 'localhost' (10061)
Errno.: 2003
錯誤編號:2003
問題分析:
無法連接到 MySQL 伺服器,可能的情況為:
1、MySQL 服務沒有啟動,一般是在異常的情況下 MySQL 無法啟動導致的,比如無可用的磁碟空間,my.ini 里 MySQL 的 basedir 路徑設置錯誤等;
2、MySQL 伺服器資源緊張,導致無法連接。
解決方法:
1、如果你是虛擬主機用戶(購買的空間),則聯系空間商檢查 MySQL 是否正常啟動,並確認 MySQL 的配置信息(是否為 localhost);
2、如果你是獨立主機用戶(擁有管理主機許可權),則按下面步驟檢查:
1)檢查磁碟空間是否還有剩餘可用空間,盡量保持有足夠的磁碟空間可用。
2)檢查 my.ini 里的 basedir (MySQL 安裝地址) 和 datadir (數據目錄存放地址)等參數設置是否正確,然後重新啟動下 MySQL 服務。
還有一種方法是將伺服器的windows補丁。
微軟9月9日發布了TCP/IP更新補丁(KB967723),如果伺服器開啟自動更新或者有自動更新軟體下載更新了這個補丁,那麼就會出現這個問題。
有人可能會問,為什麼9號出現的補丁,到現在才發現問題?
大家都知道,伺服器不是每天都重啟的,有的伺服器可能一個月或者一年半載重啟一次,有的可能在9月9日以後重啟過伺服器,所以補丁生效了(我個人這么認為)。
補丁卸載方法:登錄伺服器,進入控制面板 --- 添加和刪除程序 -- (勾選上方的「顯示更新」)
在裡面可以看到更新的KB967723這個補丁,然後就想卸載普通軟體一樣卸載,卸載中會提示你,如果卸載可能導致程序運行出錯,沒關系,選擇「是」,繼續卸載。
卸載完成後程序伺服器,一切正常!
至於該補丁修補什麼漏洞,卸載後是否會出現伺服器安全隱患,這個先不說,要MYSQL正常運行,臨時的解決辦法只有如此。
還有種情況下,你可以這樣解決
Discuz! info: Can not connect to MySQL server
Time: 2007-11-13 6:25pm
Script: /bbs/index.php
Error: Can't connect to MySQL server on 'localhost' (10061)
Errno.: 2003
Similar error report has beed dispatched to administrator before.
正常情況下原因如下:
網站論壇訪問量過大,資料庫連接超過最大連接數.MYSQL資料庫服務停止了.
解決方法(針對WIN系統):
1, 首先到系統服務裡面找到MYSQL服務並啟動MYSQL服務.
2, 到MYSQL安裝目錄找到MY.INI文件,打開MY.INI查找max_connections 修改連接數為1000 重啟IIS與MYSQL服務.
window 下
命令行下輸入:
>cd E:\mysql\bin
>mysqladmin -u root password 你的密碼
>mysql -u root -p
Enter password: 你的密碼
便可以
、、、、、、、、、、、、、、、、、
找到了根本原因,在此涼一下:
導致此問題的根源在:因為給mysql的root設置了密碼,而不是最初安裝好時的密碼為空,所以使用
mysqladmin version這樣子不行了,必須這樣子:mysqladmin -uroot -p version,回車後按照提示要求輸入
root密碼即可成功運行命令。
第一種方法其實就是在不知道root密碼的情況下的一種解決辦法,那樣子啟動不用密碼即可進mysql
裡面並進行root密碼的修改,解決忘記了root密碼的問題。
輸入命令「mysqladmin -u root password 你的密碼」作用是修改root用戶的密碼,這條命令能夠不經
提示輸入原密碼而成功執行,也說明了原密碼是空。之後使用修改後的密碼自然能夠成功登錄。
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。怎麼更改密碼?
首先要聲明一點,大部分情況下,修改MySQL是需要有mysql里的root許可權的,所以一般用戶無法更改密碼
,除非請求管理員。
方法一
使用phpmyadmin,這是最簡單的了,修改mysql庫的user表,
不過別忘了使用PASSWORD函數。
方法二
使用mysqladmin,這是前面聲明的一個特例。
mysqladmin -u root -p password mypasswd
輸入這個命令後,需要輸入root的原密碼,然後root的密碼將改為mypasswd。
把命令里的root改為你的用戶名,你就可以改你自己的密碼了。
當然如果你的mysqladmin連接不上mysql server,或者你沒有辦法執行mysqladmin,
那麼這種方法就是無效的。
而且mysqladmin無法把密碼清空。
下面的方法都在mysql提示符下使用,且必須有mysql的root許可權:
方法三
mysql> INSERT INTO mysql.user (Host,User,Password)
VALUES('%','jeffrey',PASSWORD('biscuit'));
mysql> FLUSH PRIVILEGES
確切地說這是在增加一個用戶,用戶名為jeffrey,密碼為biscuit。
在《mysql中文參考手冊》里有這個例子,所以我也就寫出來了。
注意要使用PASSWORD函數,然後還要使用FLUSH PRIVILEGES。
方法四
和方法三一樣,只是使用了REPLACE語句
mysql> REPLACE INTO mysql.user (Host,User,Password)
VALUES('%','jeffrey',PASSWORD('biscuit'));
mysql> FLUSH PRIVILEGES
方法五
使用SET PASSWORD語句,
mysql> SET PASSWORD FOR " = PASSWORD('biscuit');
擬也必須使用PASSWORD()函數,
但是不需要使用FLUSH PRIVILEGES。
方法六
使用GRANT ... IDENTIFIED BY語句
mysql> GRANT USAGE ON *.* TO " IDENTIFIED BY 'biscuit';
這里PASSWORD()函數是不必要的,也不需要使用FLUSH PRIVILEGES。
注意: PASSWORD() [不是]以在Unix口令加密的同樣方法施行口令加密。
MySQL 忘記口令的解決辦法
如果 MySQL 正在運行,首先殺之: killall -TERM mysqld。
啟動 MySQL :bin/safe_mysqld --skip-grant-tables &
就可以不需要密碼就進入 MySQL 了。
然後就是
>use mysql
>update user set password=password("new_pass") where user="root";
>flush privileges;
重新殺 MySQL ,用正常方法啟動 MySQL 。
linux下
方法一:
# /etc/init.d/mysql stop
# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
# mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';
mysql> FLUSH PRIVILEGES;
mysql> quit
# /etc/init.d/mysql restart
# mysql -uroot -p
Enter password: <輸入新設的密碼newpassword>
mysql>
方法二:
直接使用/etc/mysql/debian.cnf文件中[client]節提供的用戶名和密碼:
# mysql -udebian-sys-maint -p
Enter password: <輸入[client]節的密碼>
mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';
mysql> FLUSH PRIVILEGES;
mysql> quit
# mysql -uroot -p
Enter password: <輸入新設的密碼newpassword>
mysql>
方法三:
# mysql -uroot -p
Enter password: <輸入/etc/mysql/debian.cnf文件中[client]節提供的密碼>
Ⅳ discuz 安裝的時候資料庫地址應該怎麼填寫 7.2
如果同的資料庫伺服器,可以寫localhost
不同的資料庫,寫資料庫的伺服器IP地址,並且資料庫的用戶名、密碼、資料庫表名都存在正確
Ⅵ Discuz 安裝資料庫錯誤 怎麼解決
你把資料庫伺服器後的地址改為:localhost 再試試
本地伺服器應該不用加埠號的吧
Ⅶ Discuz! 論壇和資料庫在同一個伺服器好還是分開兩個伺服器好.
分開安全性高 用戶體驗不好 打開網頁需要解析兩個地址
集中在一個,數據丟失兩個會同時丟失 但是打開網頁不需要向另一個地址解析
Ⅷ 你好!Discuz資料庫信息填什麼!
資料庫伺服器
是填寫資料庫所在伺服器的名稱,如果在本機測試一般填
localhost
,如果購買了資料庫服務,就問一下服務提供商。
資料庫名填寫mysql里裝Discuz的那個庫的名稱,如果在本機測試,你要到
資料庫管理
界面上添加一個資料庫,如果購買了資料庫服務,就問一下服務提供商。
資料庫用戶名,如果在本機測試,一般是root,如果是購買的服務,一般是登錄用戶名。
Ⅸ Discuz! X2資料庫地址問題,無法連接資料庫,請檢查資料庫是否啟動,資料庫伺服器地址是否正確
資料庫和網站是否同在一台伺服器上
如果同在的話,資料庫地址就寫
localhost
還有務必確定你的資料庫用戶名密碼正確!!!
Ⅹ 誰知道用discuz做了一個網站,在本地調試好了以後,上傳到伺服器,資料庫方面要做哪些修改啊謝謝。
給你說個簡單的辦法吧
先在伺服器安裝discuz,然後把本地的資料庫,UCENTER備份。
將本地的discuz壓縮後覆蓋伺服器里的安裝目錄。然後將資料庫和Ucenter資料庫恢復即可。
另外可以修改config文件夾里的config_globe.php將資料庫和密碼修改成你伺服器對應的信息。
然後登陸後台,恢復資料庫和ucenter資料庫。