考虑到游戏批量上线的问题,写了一个游戏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 << 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 > /dev/</code><code>null</code> <code>2</code><code>>&</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 > /dev/</code><code>null</code> <code>2</code><code>>&</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 &"</code> <code>>> /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 > /dev/</code><code>null</code> <code>2</code><code>>&</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 > /dev/</code><code>null</code> <code>2</code><code>>&</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 & > /dev/</code><code>null</code> <code>2</code><code>>&</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 > /dev/</code><code>null</code> <code>2</code><code>>&</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 > /dev/</code><code>null</code> <code>2</code><code>>&</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>
脚本的指定步骤大概是:检测磁盘是否符合数据库挂载要求------>新建mysql用户------>下载mysql程序包并解压------>启动mysql并添加到开机启动------>新建游戏数据库。
本文转自 linuxsong 51CTO博客,原文链接:http://blog.51cto.com/song49/1333221,如需转载请自行联系原作者