天天看点

游戏数据库部署脚本

 考虑到游戏批量上线的问题,写了一个游戏mysql的部署脚本,因系统环境一样,所以脚本中并不是去安装mysql,而是将编译好了mysql直接拿过来用

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

<code>#!/bin/bash</code>

<code>#</code><code>2013</code><code>/</code><code>11</code><code>/</code><code>20</code>

<code>#Email:[email protected]</code>

<code>cat &lt;&lt; EOF</code>

<code> </code><code>====================================================</code>

<code>|此脚本用于XXXX数据库安装.                  |</code>

<code>|-------------------------------------------------- |</code>

<code>|程序目录:/usr/local/mysql5.</code><code>5</code>                      <code>|</code>

<code>|数据目录:/home/mysql/data                         |</code>

<code>|脚本运行时间由程序下载速度决定,请耐心等候.......  |</code>

<code>EOF</code>

<code>url=http:</code><code>//XXXXXX</code>

<code>#------------------- check disk ------------------------</code>

<code>        </code><code>echo </code><code>"------------------------------------------"</code>

<code>check_disk(){</code>

<code>    </code><code>if</code> <code>fdisk -l | grep -q /dev/[sh]db;then</code>

<code>        </code><code>if</code> <code>df -h | grep -q /data;then</code>

<code>            </code><code>echo </code><code>"Partition is ok!"</code>

<code>        </code><code>else</code>

<code>            </code><code>echo </code><code>"You must mount /data!"</code>

<code>        </code><code>fi</code>

<code>    </code><code>else</code>

<code>        </code><code>echo </code><code>"You must have two disk and mount it!"</code>

<code>    </code><code>fi</code>

<code>}</code>

<code>                                                                                                                                                                          </code> 

<code>#----------------- add user ---------------------------</code>

<code>add_user(){</code>

<code>        </code><code>useradd mysql</code>

<code>        </code><code>if</code> <code>[ $? -eq </code><code>0</code> <code>];then</code>

<code>            </code><code>echo </code><code>"Useradd Mysql Success!"</code>

<code>            </code><code>echo </code><code>"Mysql User is Exits!!!"</code>

<code>        </code><code>echo </code><code>"--------------------------------------------"</code>

<code>#---------------- down install mysql5 and mysql ----------</code>

<code>down_mysql(){</code>

<code>        </code><code>cd /usr/local</code>

<code>        </code><code>wget $url/mysql5.tgz &gt; /dev/</code><code>null</code> <code>2</code><code>&gt;&amp;</code><code>1</code>

<code>            </code><code>echo </code><code>"Download MysqlServer.tgz Success!"</code>

<code>            </code><code>echo </code><code>"Download MysqlServer.tgz Error!!!"</code>

<code>        </code><code>tar zxvf mysql5.tgz &gt; /dev/</code><code>null</code> <code>2</code><code>&gt;&amp;</code><code>1</code>

<code>            </code><code>echo </code><code>"Unzip MysqlServer.tgz Success!"</code>

<code>            </code><code>echo </code><code>"Unzip MysqlServer.tgz Error!!!"</code>      

<code>        </code><code>echo </code><code>"/usr/local/mysql5.5/bin/mysqld_safe  --defaults-file=/usr/local/mysql5.5/etc/my.cnf --user=mysql &amp;"</code> <code>&gt;&gt; /etc/rc.local</code>

<code>    </code><code>#mkdir -p /data/mysql/</code>

<code>        </code><code>cd /data/</code>

<code>        </code><code>wget $url/mysql.tgz &gt; /dev/</code><code>null</code> <code>2</code><code>&gt;&amp;</code><code>1</code>

<code>            </code><code>echo </code><code>"Download Mysql_Database Success!"</code>

<code>            </code><code>echo </code><code>"Download Mysql_Database Error!!!"</code>

<code>        </code><code>tar zxvf mysql.tgz &gt; /dev/</code><code>null</code> <code>2</code><code>&gt;&amp;</code><code>1</code>

<code>            </code><code>echo </code><code>"Unzip Mysql_Database Success!"</code>

<code>            </code><code>echo </code><code>"Unzip Mysql_Database Error!!"</code>

<code>        </code><code>chown -R mysql.mysql /data/mysql/</code>

<code>        </code><code>ln -s /data/ /home/mysql/</code>

<code>#------------------Start Mysql--------------------------</code>

<code>start_mysql(){</code>

<code>        </code><code>/usr/local/mysql5.</code><code>5</code><code>/bin/mysqld_safe  --defaults-file=/usr/local/mysql5.</code><code>5</code><code>/etc/my.cnf --user=mysql &amp; &gt; /dev/</code><code>null</code> <code>2</code><code>&gt;&amp;</code><code>1</code>

<code>        </code><code>sleep </code><code>3</code>

<code>        </code><code>a=`netstat -tunpl | grep :</code><code>7036</code> <code>| wc -l`</code>

<code>        </code><code>if</code> <code>[ $a -gt </code><code>0</code> <code>];then</code>

<code>            </code><code>echo </code><code>"Start Mysql Success!"</code>

<code>            </code><code>echo </code><code>"Start Mysql Error!"</code>

<code>#------------------Create Game Database-------------------</code>

<code>create_database(){</code>

<code>#        host=`ifconfig eth0 | grep </code><code>"inet addr:"</code> <code>| awk </code><code>'{print $2}'</code> <code>| cut -d: -f2`</code>

<code>        </code><code>wget $url/DB.sql &gt; /dev/</code><code>null</code> <code>2</code><code>&gt;&amp;</code><code>1</code>

<code>            </code><code>echo </code><code>"Download DB.sql Success!"</code>

<code>            </code><code>echo </code><code>"Download DB.sql Error!"</code>

<code>            </code><code>echo </code><code>"----------------------------------------"</code>

<code>        </code><code>wget $url/DB2.sql &gt; /dev/</code><code>null</code> <code>2</code><code>&gt;&amp;</code><code>1</code>

<code>            </code><code>echo </code><code>"Download DB2.sql Success!"</code>

<code>            </code><code>echo </code><code>"Download DB2.sql Error!!!"</code>

<code>        </code><code>user=XXXX</code>

<code>        </code><code>passwd=XXXXX</code>

<code>        </code><code>/usr/local/mysql5.</code><code>5</code><code>/bin/mysql -u${user} -p${passwd} -e</code><code>"source DB.sql;"</code>

<code>        </code><code>/usr/local/mysql5.</code><code>5</code><code>/bin/mysql -u${user} -p${passwd} -e</code><code>"source DB2.sql;"</code>

<code>            </code><code>echo </code><code>"Create Game Database Success!"</code>

<code>            </code><code>echo </code><code>"Create Game Database Error!"</code>

<code>        </code><code>echo </code><code>"---------------------------------------------"</code>

<code>check_disk</code>

<code>add_user</code>

<code>down_mysql</code>

<code>start_mysql</code>

<code>create_database</code>

脚本的指定步骤大概是:检测磁盘是否符合数据库挂载要求------&gt;新建mysql用户------&gt;下载mysql程序包并解压------&gt;启动mysql并添加到开机启动------&gt;新建游戏数据库。

本文转自 linuxsong 51CTO博客,原文链接:http://blog.51cto.com/song49/1333221,如需转载请自行联系原作者