MySQL数据库服务器如何初始化

网友投稿 332 2023-11-30

MySQL数据库服务器如何初始化

小编给大家分享一下MySQL数据库服务器如何初始化,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

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 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 ‘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数据库服务器如何初始化”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:MySQL各版本的新特性是什么
下一篇:MySQL中隐藏空间问题的示例分析
相关文章

 发表评论

暂时没有评论,来抢沙发吧~