共计 3850 个字符,预计需要花费 10 分钟才能阅读完成。
丸趣 TV 小编给大家分享一下 MySQL 数据库服务器如何初始化,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
风险性操作命令被强迫隐含重改写
1) Shell 命令 rm:不管你输入的 rm 后面为何参数,都会隐形地转为 rm ndash;i 命令执行;
2) Shell 命令 cp:不管你输入的 cp 后面为何参数,都会隐形地转为 cp ndash;i 命令执行;
3) Shell 命令 mv:不管你输入的 mv 后面为何参数,都会隐形地转为 mv ndash;i 命令执行;
修改每个操作系统级别帐号默认配置的隐藏文件 bash_profile 的内容,实现上述 3 个命令的隐形修改,同时也可能增加路径和提示等其他信息,具体的详细信息可以参考文章设置 Linux 系统的环境变量方式,减少悲剧操作的发生。
服务器名称
主机名称要能包含三部分信息:服务器所在的机房名称、应用名称、集群中的代号。另外,为方便统一管理,与其他兄弟部门交流和合作,改变过去自成章法的做 法,而制定严格的格式要求,三部分的连接符合统一为中划线“-”,举例说明:xy-brmms-db1a、xy-brmms-db1b、xy- brmms-db2a、xy-brmms-db2b hellip;.
其中,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 版本为例,安装的软件包为:
双击代码全选
4MySQL-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 lsquo;repl rsquo;@ % rsquo; IDENTIFIED BY rsquo;XXXXXXXXXXXXXXXXXX rsquo;;
2) 待主主复制搭建完成后,任选一台主机执行其他初始化操作
初始化 root 帐号的信息:
DELETE FROM mysql.user WHERE user=”OR host=”;
UPDATE mysql.user SET password=PASSWORD(lsquo;XXXXXXXXXXXXXXXX rsquo;) WHERE user= rsquo;root rsquo;; 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 lsquo;admin rsquo;@ localhost rsquo; IDENTIFIED BY rsquo;XXXXXXXXXXXXXXXXX rsquo;; GRANT UPDATE ON monitor.* TO lsquo;admin rsquo;@ localhost rsquo;;
创建用于只读应用场景的帐号 (比如:数据仓库):
ANT SELECT ON stanley.* TO lsquo;rnd rsquo;@ % rsquo; IDENTIFIED BY rsquo;XXXXXXXXXXXXXXXX rsquo;;
增加应用程序和 DBA 操作对应库的帐号信息:
GRANT SELECT,INSERT,UPDATE,DELETE ON stanley.* TO lsquo;stanley rsquo;@ % rsquo; IDENTIFIED BY rsquo;XXXXXXXX rsquo;; GRANT ALL ON stanley.* TO lsquo;stanley rsquo;@ localhost rsquo; IDENTIFIED BY rsquo;XXXXXXXXXXXXXXXX rsquo;;
备注:
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= rsquo;172.22.32.88 prime;,master_user= rsquo;repl rsquo;,master_password= rsquo;XXXXXXXXXXXXXXXX rsquo;, master_log_file= rsquo;mysql-bin.000006 prime;,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 数据库服务器如何初始化”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注丸趣 TV 行业资讯频道!