-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathbuild_mysql.sh
73 lines (62 loc) · 1.94 KB
/
build_mysql.sh
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
#!/bin/sh
########################################################################################
#
# Install MySQL Script
#
# Shawn Ma
# 2013-01-06
#
########################################################################################
# Define
HOST=192.168.1.158
TARGET=mysql-5.6.12.tar.gz
SOURCE=http://$HOST/deploy/mysql/dist/$TARGET
# Create a build directory
mkdir -p /opt/install/mysql && cd /opt/install/mysql
# Prepare for compilation source
curl -o $TARGET $SOURCE
mkdir -p tmp && tar -zxvf $TARGET -C tmp
# Install build dependencies
yum install -y gcc gcc-c++ make cmake autoconf automake
yum install -y bison ncurses-devel
# Create a User Group
groupadd mysql
useradd -r -g mysql mysql
# Compile and deploy
mv tmp/* source && cd source
cmake \
-DCMAKE_INSTALL_PREFIX=/opt/server/database/mysql \
-DSYSCONFDIR=/opt/server/database/mysql \
-DMYSQL_UNIX_ADDR=/opt/server/database/mysql/tmp/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DMYSQL_DATADIR=/opt/server/database/mysql/data \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS:STRING=all \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_DEBUG=OFF \
-DMYSQL_USER=mysql
make
make install
cd /opt/server/database/mysql
curl -o my.cnf http://$HOST/deploy/mysql/conf/my.cnf
# Postinstallation setup
cd /opt/server/database/mysql
chown -R mysql .
chgrp -R mysql .
scripts/mysql_install_db --user=mysql
chown -R root .
chown -R mysql data
# Configuration
curl -o /etc/init.d/mysql http://$HOST/deploy/mysql/init/mysql
chmod a+x /etc/init.d/mysql
/etc/init.d/mysql start
bin/mysqladmin -u root password "TV.xian"
bin/mysql -u root -pTV.xian -e "GRANT ALL ON *.* TO 'root'@'%' IDENTIFIED BY 'TV.xian' WITH GRANT OPTION; FLUSH PRIVILEGES;"
bin/mysql -u root -pTV.xian -e "GRANT REPLICATION SLAVE ON *.* TO 'backup'@'%' IDENTIFIED BY 'backup'; FLUSH PRIVILEGES;";
/etc/init.d/mysql stop
# Additional
chkconfig --add mysql
chkconfig mysql on