1. 程式人生 > >xmpp開發IM即時通訊系列(二)--即時通訊伺服器搭建(1)資料庫搭建

xmpp開發IM即時通訊系列(二)--即時通訊伺服器搭建(1)資料庫搭建

    這次總結一下即時通訊伺服器的搭建,一般的後臺伺服器至少由兩部分組成,一部分是應用伺服器,另一部分是資料庫伺服器與檔案伺服器,應用伺服器主要用於部署負責業務處理的相關應用,資料庫伺服器主要用於部署資料庫,檔案伺服器存放客戶端上傳的檔案、圖片等資訊。即時通訊的伺服器也不例外,目前比較流行的做法是使用開源的openfire做應用伺服器,由於它是開源的,很多開發者可以對它做外掛開,這個以後會總結;資料庫伺服器我們可以選擇市面上的主流資料庫管理軟體,因為openfire對他們都有支援,如MySQL、Oracle等,我這次以MySQL為例進行總結,本來不需要單獨拿一章來介紹,但是昨天自己在部署的時候還真發現一些問題,尤其是使用新版本(5.7以上的)時很多命令已經和原來的不一樣了,所以有必要總結一下。

    首先,從MySQL的官網上下載程式,網址是http://dev.mysql.com/downloads/,我當時下載的版本是5.7.11,綠色版的,下載下來後解壓配置就可以直接使用,很方便。這裡說一下配置,主要有兩步:

    一、配置環境變數

    把MySQL的bin目錄路徑新增到環境變數path裡(和JDK配置相似)即可,上圖:



    二、修改配置檔案

    修改MySQL目錄下的my-default.ini檔案,要修改裡面的兩個變數:basedir和datadir,先把他們兩個前面的#去掉,在設定:

basedir = MySQL的路徑

datadir =MySQL的路徑\data

儲存,配置完成上圖:




    三、初始化資料庫

    這裡要重點強調一下,在5.7之前,MySQL的初始化命令是mysqld -install,在5.7之後,命令變為mysqld --initialize,我在初始化的時候就遇到這個問題,用老的命令MySQL服務總是無法啟動,所以以後要用新的命令。上圖:



    四、啟動資料庫

    這裡的命令還是net start mysql沒變,服務已經正常啟動後就可以操作MySQL資料庫啦,mysql -u root -p,輸入密碼,命令列會變成MySQL>,然後就可以執行sql命令了。上圖:


    這裡還要強調一點,由於oracle加強了MySQL的安全性,在5.7之前,root賬戶的初始密碼不用填,直接回車就行,5.7之後,他會自動生成一個臨時密碼,這個密碼生成在MySQL目錄下的data目錄中,找一個命名為“本地計算機名.err”的檔案,開啟並找到[Note] A temporary password is generated for

[email protected]:xxxxxxxx,把這個臨時密碼輸入到命令列中,就成功進入到MySQL中了,然後用命令修改root的密碼,mysql> UPDATE user SET Password = PASSWORD('newpass') WHERE user = 'root';以後用新密碼登入即可。上圖:




相關推薦

xmpp開發IM即時通訊系列--即時通訊伺服器搭建1資料庫搭建

    這次總結一下即時通訊伺服器的搭建,一般的後臺伺服器至少由兩部分組成,一部分是應用伺服器,另一部分是資料庫伺服器與檔案伺服器,應用伺服器主要用於部署負責業務處理的相關應用,資料庫伺服器主要用於部

xmpp開發IM即時通訊系列--總述

    本人近期研究即時通訊功能,社交元素現在已經滲透到各個領域,無論商城、遊戲、媒體類等app,為了增加使用者之間的交流,都已經開始加入即時通訊功能,可以說即時通訊在未來的手機商業應用領域是不可或缺

JS元件系列——表格元件神器:bootstrap table:父子表和行列調序

前言:上篇 JS元件系列——表格元件神器:bootstrap table 簡單介紹了下Bootstrap Table的基礎用法,沒想到討論還挺熱烈的。有園友在評論中提到了父子表的用法,今天就結合Bootstrap table的父子表和行列調序的用法再來介紹下它稍微高階點的用法

敏捷開發 鬆結對程式設計 系列之十五 L型程式碼結構程式設計篇之一

        public ActionResult LinkTeam2Product(int focusedDepartmentID = 0)        {            ViewBag.ItemTreeViewModel = new ItemTreeViewModel("團隊-產品對映",

python教程系列.2.3、運算類魔法函式

運算相關魔術方法 比較運算相關魔術方法 1._ _lt_ _() 格式: def __lt__(self,other): return 資料 特徵: 觸發時機:進行小於判斷時自動觸發 引數:2個引數第一個是self,第二個判斷

算法系列十:計算中國農曆

        世界各國的日曆都是以天為最小單位,但是關於年和月的演算法卻各不相同,大致可以分為三類:陽曆--以天文年作為日曆的主要週期,例如:中國公曆(格里曆)陰曆--以天文月作為日曆的主要週期,例如:伊斯蘭曆陰陽曆--以天文年和天文月作為日曆的主要週期,例如:中國農曆我國

vue webpack 腳手架項目詳細解析系列,項目依賴說明 package.json

https lin 2.6 文件 並不是 route not 英文 post 繼續上一篇, 上一篇講了 vue 的webpack腳手架的項目結構。那接下來我們看一下他的package.json 文件,看一下。他都用到了那些依賴。 "dependencies": {

【LeetCode-面試算法經典-Java實現】【107-Binary Tree Level Order Traversal II叉樹層序遍歷II

lin -m length ret itl pub util 實現類 markdown 【107-Binary Tree Level Order Traversal II(二叉樹層序遍歷II)】 【LeetCode-面試算法經典-Java實現】【全

UVA818-Cutting Chains進制枚舉+dfs判環

wing 情況 jewel dep join man follow tin pair Problem UVA818-Cutting Chains Accept:393 Submit:2087 Time Limit: 3000 mSec Problem Descript

一個線上音樂軟體的故事、其實故事從這裡才開始

其實故事從這裡才開始 如果你看到了這裡,那你應該看出來,我是在講軟體開發的故事,如果你和我一樣喜歡Linux,喜歡用Python那我希望你也喜歡這個故事。這個故事並不是講如何使用Python的,所以關於如何使用Python推薦你看《Python cookbook 第三版》

linux指令、目錄與文件常用指令

1.對目錄的相關操作 在所有目錄底下都會存在的兩個目錄,分別是『.』與『..』 分別代表此層與上層目錄的意思。 . 代表此層目錄 .. 代表上一層目錄 - 代表前一個工作目錄 ~ 代表『目前使用者身份』所在的家目錄 ~account 代表account 這個使用者的家目錄(acco

Git使用、分支的建立和上傳

 介紹使用TortoiseGit建立分支並push到gitlab專案庫,轉載請註明出處。 一、建立一個新的資料夾,把要待編輯的工程從gitlab上pull到該資料夾。 其中URL從gitlab的對應專案中複製 、 Pull完成後:   二、建立本地分支 右鍵資料夾空白

從零開始之驅動發開、linux驅動十九、linux中的程序

一、程序 1、什麼是程序 程序的概念是作業系統中最基本、最重要的概念。它是多道程式系統出現後,為了刻畫系統內部出現的動態情況,描述系統內部各道程式的活動規律而引進的一個新概念,所有多道程式設計的作業系統都建立在程序的基礎上。作業系統專門引入程序的概念,從理論角度看,是對正

個人總結:Sql:增&刪&改|I&D&U

Insert insert into TNAME value(V1,V2,V3); 或 insert into TNAME values(V1,V2,V3); 或 insert into TNAME(C1,C2,C3…) value(V1,V2,V3…); 或

MySQL從入門到上天、子查詢&多表查詢

- 子查詢 DROP DATABASE mydb2; USE mydb1; CREATE TABLE emp(     empno        INT,     en

散列表:衝突處理的方法之開地址法次探測再雜湊的實現

#include "hash.h"#include "common.h"#include <assert.h>typedef enum entry_status {     EMPTY,     ACTIVE,     DELETED } entry_status_t;typedef struct

POJ 1050 To the Max 最大子矩陣和維的最大欄位和

傳送門: To the Max Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 52306 Accepted: 27646 Description Given a two-dimensional array of positive

LeetCode 94 Binary Tree Inorder Traversal叉樹的中序遍歷+叉樹、迭代

翻譯 給定一個二叉樹,返回其中序遍歷的節點的值。 例如: 給定二叉樹為 {1, #, 2, 3} 1 \ 2 / 3 返回 [1, 3, 2] 備註:用遞

傳送簡訊倒計時防重新整理次封裝網上簡訊倒計時防重新整理

原始碼:<!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="initial-scale=1.0, maximum-

HTML5學習 用JavaScript在canvas裡新增內容

1、在canvas裡新增內容,效果如底圖。 <script  text="text/javascript">var c = document.getElementById("myCanva