您好,登錄后才能下訂單哦!
小編給大家分享一下MySQL數據庫服務器如何初始化,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
風險性操作命令被強迫隱含重改寫
1) Shell命令rm:不管你輸入的rm 后面為何參數,都會隱形地轉為 rm –i 命令執行;
2) Shell命令cp:不管你輸入的cp 后面為何參數,都會隱形地轉為 cp –i 命令執行;
3) Shell命令mv:不管你輸入的mv后面為何參數,都會隱形地轉為 mv –i 命令執行;
修改每個操作系統級別帳號默認配置的隱藏文件bash_profile的內容,實現上述3個命令的隱形修改,同時也可能增加路徑和提示等其他信息,具體的詳細信息可以參考文章設置Linux系統的環境變量方式,減少悲劇操作的發生。
服務器名稱
主機名稱要能包含三部分信息:服務器所在的機房名稱、應用名稱、集群中的代號。另外,為方便統一管理,與其他兄弟部門交流和合作,改變過去自成章法的做 法,而制定嚴格的格式要求,三部分的連接符合統一為中劃線“-”,舉例說明:xy-brmms-db1a、xy-brmms-db1b、xy- brmms-db2a、xy-brmms-db2b….
其中,db1a和db1b表示一對互為主備的主從復制關系,集群中有多臺服務器支持數據服務,則最后二位的數字和字母會相應變化而體現出來。
ITIL流程單提交
1) 域名申請:若應用程序訪問數據庫服務器的方式,是通過域名而非IP地址的時候,則需要提交ITIL流程單,并且指定為SA部門的***同事,一般會在2個小時內處理,故需要提前申請準備好;
2) 服務器的IP地址變更:若想更改數據庫服務器的IP地址,包含做VIP用處的IP地址,則需要提交ITIL流程單,并且指定為網絡部門的***同事,此需求一般會及時響應,但依然建議提前填寫;
3) 服務器訪問安全列表增加:待服務器所有的配置工作都完成之后,通過向安全部門提交ITIL流程單方式,要求描述清楚:服務器的IP地址信息(備注:需要用 到VIP或域名的,也需要一并描述清楚),主機的名稱,那個組的成員或個人需要訪問此服務器,并且描述清楚各自需要擁有的權限,以及默認登錄的帳號名稱 (一般默認為:admin);
MySQL軟件包安裝
鑒于我們使用MySQL開源軟件的社區版本產品,其測試和驗證過 程主要依賴社區的用戶和開源貢獻者完成,即使商業產品也不能盲目使用最新發布的版本,另外使用的版本必須經過我們做過一定量針對性的測試,以及開發環境或 性能測試環境驗證過,為此推薦使用版本:5.1.34、5.1.36、5.1.40,若是想使用Plugin-innodb,則推薦使用版 本:mysql-5.1.48,暫不推薦生產環境使用版本:mysql 5.5.*系列。
以mysql 5.1.40版本為例,安裝的軟件包為:
1 2 3 4 | MySQL-server-community-5.1.40-0.rhel5.x86_64.rpm MySQL-shared-community-5.1.40-0.rhel5.x86_64.rpm MySQL-client-community-5.1.40-0.rhel5.x86_64.rpm MySQL-devel-community-5.1.40-0.rhel5.x86_64.rpm |
MySQL數據庫的初始化
1) 主備服務器都優先增加用于復制的帳
GRANT REPLICATION SLAVE ON *.* TO ‘repl’@'%’ IDENTIFIED BY ’XXXXXXXXXXXXXXXXXX’; |
2) 待主主復制搭建完成后,任選一臺主機執行其他初始化操作
初始化root帳號的信息:
DELETE FROM mysql. user WHERE user =” OR host=”;
UPDATE mysql. user SET password = PASSWORD (‘XXXXXXXXXXXXXXXX’) WHERE user =’root’; FLUSH PRIVILEGES ; |
創建用于監控的數據庫信息:
CREATE DATABASE `monitor` CHARACTER SET utf8 COLLATE utf8_general_ci; USE monitor; CREATE TABLE `xdual` ( `id` int (11) NOT NULL AUTO_INCREMENT, `x` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP , PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COLLATE =utf8_general_ci; INSERT INTO xdual(x) VALUES (NOW()); |
創建用于管理、監控和本地備份的帳號信息:
GRANT SUPER,PROCESS,FILE, SELECT ON *.* TO ‘admin’@ 'localhost’ IDENTIFIED BY’XXXXXXXXXXXXXXXXX’; GRANT UPDATE ON monitor.* TO ‘admin’@' localhost’; |
創建用于只讀應用場景的帳號(比如:數據倉庫):
ANT SELECT ON stanley.* TO ‘rnd’@'%’ IDENTIFIED BY ’XXXXXXXXXXXXXXXX’; |
增加應用程序和DBA操作對應庫的帳號信息:
GRANT SELECT , INSERT , UPDATE , DELETE ON stanley.* TO ‘stanley’@ '%’ IDENTIFIED BY’XXXXXXXX’; GRANT ALL ON stanley.* TO ‘stanley’@' localhost’ IDENTIFIED BY ’XXXXXXXXXXXXXXXX’; |
備注:
DBA人員訪問mysql數據庫服務器完成具體工作時,必須盡量使用對應權限的帳號,而不能一味使用最高權限帳號root,雖然此舉可能帶來成本上升,卻可以減少誤操作事件的發生概率,以及降低誤操作影響范圍。
MySQL復制搭建
因新安裝的數據庫服務器,還未跑任何應用,只是2臺主機都創建了一個一樣屬性的數據庫帳號信息而已,為此沒有必要執行數據庫備份的方式用于搭建復制,簡單描述如下(備注:以xy-brmms-db1a和xy-brmms-db1b為例):
(1) 主機xy-brmms-db1a上執行SQL命令:SHOW MASTER STATUS;
(2) 主機xy-brmms-db1b上執行SQL命令:
CHANGE MASTER TO master_host=’172.22.32.88′,master_user=’repl’,master_password=’XXXXXXXXXXXXXXXX’, master_log_file=’mysql-bin.000006′,master_log_pos=2256; START SLAVE; |
(3) 主機xy-brmms-db1b上執行SQL命令:SHOW SLAVE STATUS;根據輸出信息判斷是否xy-brmms-db1a->xy-brmms-db1b方向的復制是否成功;
(4) 通過上述3個步驟完成xy-brmms-db1a->xy-brmms-db1b的復制,接下來重復上述3個步驟,替換相關信息,能完成xy-brmms-db1b->xy-brmms-db1a的復制;
備注:
MySQL生產環境可能碰到的場景,需要搭建復制的步驟及詳細方法,可以參考文章生產環境搭建MySQL復制的教程。
操作系統需要增加的帳號
根據實際訪問及應用的需要,服務器操作系統訪問的帳號,每臺主機上有 3-5個帳號,并且每個帳號都會有其獨自對應的密碼。對于一個應用集群中,所有數據庫服務器的帳號密碼都相同,其他情況下不同服務器操作系統中的帳號名稱相同,但是密碼肯定不同。
為了避免用戶和組ID的混亂,對用戶名稱的id和用戶所屬組id進行統一的規定:
admin用戶的uid 必須為:501
admin用戶組的gid 必須為:501
對應shell命令為:
groupadd -g 501 admin useradd -c “dragoon and other software owner” -g admin -u 501 admin |
mysql用戶的uid 必須為:601
mysql用戶組的gid 必須為:601
對應shell命令為:
groupadd -g 601 mysql useradd -c “mysql software owner” -g mysql -u 601 mysql |
備注:
使用nagios作為監控手段的情況下,還會創建一個名稱為nagios,群組名為nagios,ID號同為401的用戶及用戶組,另外還有一些其他的帳號,都是類似的方式。
以上是“MySQL數據庫服務器如何初始化”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。