• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            xiaoguozi's Blog
            Pay it forword - 我并不覺的自豪,我所嘗試的事情都失敗了······習慣原本生活的人不容易改變,就算現狀很糟,他們也很難改變,在過程中,他們還是放棄了······他們一放棄,大家就都是輸家······讓愛傳出去,很困難,也無法預料,人們需要更細心的觀察別人,要隨時注意才能保護別人,因為他們未必知道自己要什么·····
            今天弄了下mysql的幾個安全設置: 只允許本地登錄,允許ssh通過遠程登錄

            1.my.cnf
            #skip-networking
            bind-address = 127.0.0.1

            此項設置允許 tcp/ip 訪問,但是只有127.0.0.1 有可以訪問,如果把skip-networking 開啟。則只能通過sock連接。
            順便提下,

            mysql -h localhost -u eric -p saker

            mysql -h 127.0.0.1 -u eric -p saker

             

            這兩個命令在skip-networking 開啟的時候localhost能正常登錄mysql,但是127.0.0.1不能。具體原因如下:


            大多數程序將主機名localhost和IP地址127.0.0.1 視作“本地服務器”的同義詞。

             

            但在UNIX系統中,MySQL 有所不同:
            出現localhost時,MySQL會嘗試使用一個Unix domain socket 文件來連接本地服務器。

            要強制使用TCP/IP連接到本地服務器,那就使用IP地址 127.0.0.1 而不是主機名localhost。
            可以通過指定 --protocol=tcp 選項來強制使用TCP/IP進行連接

            TCP/IP 連接的默認端口號是 3306.

            2.mysql 設置好了,只允許本地登錄。但是允許通過ssh遠程登錄
            原理:無論是windows還是 linux,第一步就是本地與mysql服務器建立一個ssl tunnel,
            利用ssh命令在本機開個33xx的端口,這個端口為隧道的入口端口,出口就是數據庫的3306(如果默認端口沒被修改的話),
            linux如下:
            ssh -NCPf root@localaddress -L 3388:mysqlserver:3306

            參數解釋

            -C    使用壓縮功能,是可選的,加快速度。 
            -P    用一個非特權端口進行出去的連接。 
            -f    一旦SSH完成認證并建立port forwarding,則轉入后臺運行。 
            -N    不執行遠程命令。該參數在只打開轉發端口時很有用(V2版本SSH支持)


            1)如果是windows 下用navicat for mysql 之類的數據庫管理軟件,比較簡單,
            在"常規"選項卡填寫主機名為localhost或127.0.0.1,遠程數據庫的賬號和密碼
            "SSH"選項卡填寫遠程服務器的主機名和ssh端口號,及登錄的用戶和密碼,測試連接是否成功
            2)windows 暫時沒找出類似
            ssh -NCPf root@localaddress -L 3388:mysqlserver:3306
            命令安靜模式下建立ssh tunnel。 我用了putty試了下。連接可以成功。呆后續研究

            3.mysql 主從備份使用ssh tunnel,下面摘自別人文章,待驗證
            1). 備份初始數據。
            關閉所有相關的數據更新操作程序,或者對要備份的數據庫加鎖,避免更新,然后用 tar 備份到從服務器上。或者可以用mysqlhotcopy。
            2). 需要在主服務器上,配置日志功能
            這需要重啟服務,使其啟用日志功能。配置文件 my.cnf 可以放在 mysql 的安裝目錄中。
            [mysqld] 
            server-id=1
            log-bin=mydb-bin
            binlog-do-db=mydb
            重啟服務后,可以在數據目錄下,看見該數據庫的日志文件,并且可以通過 "show master status",查看到主服務器的狀態。
            3). 設置備用用戶
            mysql>GRANT REPLICATION SLAVE ON *.* TO backup@'localhost' IDENTIFIED BY 'backup';
            這里之所以用本地連接,是因為后面采用 ssh 隧道連接 mysql
            4). 設置從服務器
            [mysqld]
            server-id=2
            master-host=127.0.0.1
            master-port=3307
            master-user=backup
            master-password=backup
            master-connect-retry=10
            report-host=127.0.0.1
            5). 遠程連接隧道
            ssh -f -N -4 -L 3307:127.0.0.1:3306 mysqlm@remotemysql  
            6). 啟動從服務器
            可以通過 "show processlist",查看備份情況。并且可以查看mysql的錯誤日志,了解是否連接正常,同步備份功能是否工作正常。
            4.因為使用yii框架在寫一個項目,所以遠程mysql禁止直接登錄后,yii的配置文件也要相應修改,linux下比較簡單,可參看以下
            http://www.yiiframework.com/forum/index.php/topic/30678-mysql-through-ssh-tunnel/
            windows待續......
            posted on 2012-12-17 18:14 小果子 閱讀(11524) 評論(0)  編輯 收藏 引用 所屬分類: 學習筆記SQL
            99热成人精品免费久久| 亚洲国产成人精品无码久久久久久综合 | 亚洲欧美另类日本久久国产真实乱对白| A狠狠久久蜜臀婷色中文网| 国产一久久香蕉国产线看观看| 99久久国产综合精品网成人影院| 无码精品久久一区二区三区| 亚洲乱码精品久久久久..| 国产成人99久久亚洲综合精品| 婷婷久久五月天| 久久精品亚洲一区二区三区浴池| 精品久久久久久久中文字幕 | 亚洲综合伊人久久综合| 国产午夜精品理论片久久影视| 欧美激情精品久久久久久久| 精品久久久久久成人AV| 久久笫一福利免费导航 | 久久精品国产黑森林| 精品久久久久中文字幕日本| 亚洲国产一成久久精品国产成人综合 | 久久精品国产亚洲77777| 久久伊人色| 久久精品国产精品亚洲艾草网美妙| 久久人人爽人人爽人人片AV高清| 久久久久成人精品无码| 伊人久久大香线蕉影院95| AV狠狠色丁香婷婷综合久久| 囯产极品美女高潮无套久久久| 亚洲欧洲精品成人久久曰影片| 91久久精品国产成人久久| 久久噜噜电影你懂的| 国产精品久久99| 国产三级久久久精品麻豆三级| 久久精品成人欧美大片| 777午夜精品久久av蜜臀| 色天使久久综合网天天| 狠狠色丁香婷婷久久综合| 色狠狠久久综合网| 国产成人久久精品一区二区三区 | 亚洲综合伊人久久综合| 久久综合狠狠综合久久综合88|