mysql一键安装教程 mysql5.1.45全自动安装(编译安装)

时间:2022-08-27 19:42:45

一.问题来源
 
安装MySQL如果手动安装一台还可以,但安装多台,手动安装很麻烦,需要编写一个shell程序 install_mysql.sh来进行安装

二.程序说明
 将MySQL5.1.45安装到了 /home/longxibendi/mysql/usrl/local/mysql
 数据文件以及日志文件设置在了 /home/longxibendi/mysql/3309/
 配置文件my.cnf 在   /home/longxibendi/mysql/3309
 端口使用  3309

三.源程序 install_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
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
125
126
127
128
129
130
131
132
133
134
135
136
#!/bin/bash
#author longxibendi
#function install MySQL5.1.45
 
###################################### configure and install #####################################################
mkdir -p /home/longxibendi/mysql/usr/local/mysql
cd
mkdir mysql
cd mysql
wget http://downloads.mysql.com/archives/mysql-5.1/mysql-5.1.45.tar.gz
 
tar zxvf mysql-5.1.45.tar.gz
cd mysql-5.1.45
 
 
./configure --prefix=/home/longxibendi/mysql/usr/local/mysql --without-debug --without-bench --enable-thread-safe-client --enable-assembler --enable-profiling --with-mysqld-ldflags=-all-static --with-client-ldflags=-all-static --with-charset=latin1 --with-extra-charset=utf8,gbk --with-innodb --with-mysqld-user=longxibendi --without-embedded-server --with-server-sufix=community --with-unix-socket-path=/home/longxibendi/mysql/usr/local/mysql/sock/mysql.sock --enable-assembler --with-extra-charsets=complex --enable-thread-safe-client --with-big-tables --with-readline --with-ssl --with-plugins=partition,heap,innobase,myisam,myisammrg,csv
make -j `cat /proc/cpuinfo | grep 'model name' | wc -l ` && make install
 
 
###################################### set log and data storage path #####################################################
 
chmod +w /home/longxibendi/mysql/usr/local/mysql
mkdir -p /home/longxibendi/mysql/3309/data/
mkdir -p /home/longxibendi/mysql/3309/binlog/
mkdir -p /home/longxibendi/mysql/3309/relaylog/
 
 
###################################### create data file #####################################################
 
/home/longxibendi/mysql/usr/local/mysql/bin/mysql_install_db --basedir=/home/longxibendi/mysql/usr/local/mysql --datadir=/home/longxibendi/mysql/3309/data --user=longxibendi
 
####################################### create my.cnf profile #####################################################
 
echo "
[client]
character-set-server = utf8
port  = 3309
socket = /home/longxibendi/mysql/usr/local/mysql/sock/mysql.sock
 
[mysqld]
character-set-server = utf8
replicate-ignore-db = mysql
replicate-ignore-db = test
replicate-ignore-db = information_schema
user  = mysql
port  = 3309
socket = /home/longxibendi/mysql/usr/local/mysql/sock/mysql.sock
basedir = /home/longxibendi/mysql
datadir = /home/longxibendi/mysql/3309/data
log-error = /home/longxibendi/mysql/3309/mysql_error.log
pid-file = /home/longxibendi/mysql/3309/mysql.pid
open_files_limit  = 10240
back_log = 600
max_connections = 5000
max_connect_errors = 6000
table_cache = 614
external-locking = FALSE
max_allowed_packet = 16M
sort_buffer_size = 1M
join_buffer_size = 1M
thread_cache_size = 300
#thread_concurrency = 8
query_cache_size = 20M
query_cache_limit = 2M
query_cache_min_res_unit = 2k
default-storage-engine = MyISAM
thread_stack = 192K
transaction_isolation = READ-COMMITTED
tmp_table_size = 20M
max_heap_table_size = 20M
long_query_time = 3
log-slave-updates
log-bin = /home/longxibendi/mysql/3309/binlog/binlog
binlog_cache_size = 4M
binlog_format = MIXED
max_binlog_cache_size = 8M
max_binlog_size = 20M
relay-log-index = /home/longxibendi/mysql/3309/relaylog/relaylog
relay-log-info-file = /home/longxibendi/mysql/3309/relaylog/relaylog
relay-log = /home/longxibendi/mysql/3309/relaylog/relaylog
expire_logs_days = 30
key_buffer_size = 10M
read_buffer_size = 1M
read_rnd_buffer_size = 6M
bulk_insert_buffer_size = 4M
myisam_sort_buffer_size = 8M
myisam_max_sort_file_size = 20M
myisam_repair_threads = 1
myisam_recover
 
interactive_timeout = 120
wait_timeout = 120
 
skip-name-resolve
#master-connect-retry = 10
slave-skip-errors = 1032,1062,126,1114,1146,1048,1396
 
#master-host   =  192.168.1.2
#master-user   =  username
#master-password =  password
#master-port   = 3309
 
server-id = 1
 
innodb_additional_mem_pool_size = 16M
innodb_buffer_pool_size = 20M
innodb_data_file_path = ibdata1:56M:autoextend
innodb_file_io_threads = 4
innodb_thread_concurrency = 8
innodb_flush_log_at_trx_commit = 2
innodb_log_buffer_size = 16M
innodb_log_file_size = 20M
innodb_log_files_in_group = 3
innodb_max_dirty_pages_pct = 90
innodb_lock_wait_timeout = 120
innodb_file_per_table = 0
 
#log-slow-queries = /home/longxibendi/mysql/3309/slow.log
#long_query_time = 10
 
[mysqldump]
quick
max_allowed_packet = 32M
 
" > /home/longxibendi/mysql/3309/my.cnf
 
 
############################### solve bug http://bugs.mysql.com/bug.php?id=37942 #############################################
 
mkdir -p /home/longxibendi/mysql/share/mysql/english/
cp /home/longxibendi/mysql/usr/local/mysql/share/mysql/english/errmsg.sys /home/longxibendi/mysql/share/mysql/english/
 
############################### start MySQL Server #############################################
/bin/sh /home/longxibendi/mysql/usr/local/mysql/bin/mysqld_safe --defaults-file=/home/longxibendi/mysql/3309/my.cnf 2>&1 > /dev/null &
############################### try use MySQL Server #############################################
/home/longxibendi/mysql/usr/local/mysql/bin/mysql -u root -p -S /home/longxibendi/mysql/usr/local/mysql/sock/mysql.sock -P3309 -h127.0.0.1 -e "show databases;"

 

?
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
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
#!/bin/bash
#author longxibendi
#function install MySQL5.1.45
 
###################################### configure and install #####################################################
mkdir -p /home/longxibendi/mysql/usr/local/mysql
cd
mkdir mysql
cd mysql
wget http://downloads.mysql.com/archives/mysql-5.1/mysql-5.1.45.tar.gz
 
tar zxvf mysql-5.1.45.tar.gz
cd mysql-5.1.45
 
 
 
 
./configure --prefix=/home/longxibendi/mysql/usr/local/mysql --without-debug --without-bench --enable-thread-safe-client --enable-assembler --enable-profiling --with-mysqld-ldflags=-all-static --with-client-ldflags=-all-static --with-charset=latin1 --with-extra-charset=utf8,gbk --with-innodb --with-mysqld-user=longxibendi --without-embedded-server --with-server-sufix=community --with-unix-socket-path=/home/longxibendi/mysql/usr/local/mysql/sock/mysql.sock --enable-assembler --with-extra-charsets=complex --enable-thread-safe-client --with-big-tables --with-readline --with-ssl --with-plugins=partition,heap,innobase,myisam,myisammrg,csv
make -j `cat /proc/cpuinfo | grep 'model name' | wc -l ` && make install
 
 
 
###################################### set log and data storage path #####################################################
 
chmod +w /home/longxibendi/mysql/usr/local/mysql
mkdir -p /home/longxibendi/mysql/3309/data/
mkdir -p /home/longxibendi/mysql/3309/binlog/
mkdir -p /home/longxibendi/mysql/3309/relaylog/
 
 
###################################### create data file #####################################################
 
/home/longxibendi/mysql/usr/local/mysql/bin/mysql_install_db --basedir=/home/longxibendi/mysql/usr/local/mysql --datadir=/home/longxibendi/mysql/3309/data --user=longxibendi
 
 
####################################### create my.cnf profile #####################################################
 
echo "
[client]
character-set-server = utf8
port  = 3309
socket = /home/longxibendi/mysql/usr/local/mysql/sock/mysql.sock
 
[mysqld]
character-set-server = utf8
replicate-ignore-db = mysql
replicate-ignore-db = test
replicate-ignore-db = information_schema
user  = mysql
port  = 3309
socket = /home/longxibendi/mysql/usr/local/mysql/sock/mysql.sock
basedir = /home/longxibendi/mysql
datadir = /home/longxibendi/mysql/3309/data
log-error = /home/longxibendi/mysql/3309/mysql_error.log
pid-file = /home/longxibendi/mysql/3309/mysql.pid
open_files_limit  = 10240
back_log = 600
max_connections = 5000
max_connect_errors = 6000
table_cache = 614
external-locking = FALSE
max_allowed_packet = 16M
sort_buffer_size = 1M
join_buffer_size = 1M
thread_cache_size = 300
#thread_concurrency = 8
query_cache_size = 20M
query_cache_limit = 2M
query_cache_min_res_unit = 2k
default-storage-engine = MyISAM
thread_stack = 192K
transaction_isolation = READ-COMMITTED
tmp_table_size = 20M
max_heap_table_size = 20M
long_query_time = 3
log-slave-updates
log-bin = /home/longxibendi/mysql/3309/binlog/binlog
binlog_cache_size = 4M
binlog_format = MIXED
max_binlog_cache_size = 8M
max_binlog_size = 20M
relay-log-index = /home/longxibendi/mysql/3309/relaylog/relaylog
relay-log-info-file = /home/longxibendi/mysql/3309/relaylog/relaylog
relay-log = /home/longxibendi/mysql/3309/relaylog/relaylog
expire_logs_days = 30
key_buffer_size = 10M
read_buffer_size = 1M
read_rnd_buffer_size = 6M
bulk_insert_buffer_size = 4M
myisam_sort_buffer_size = 8M
myisam_max_sort_file_size = 20M
myisam_repair_threads = 1
myisam_recover
 
interactive_timeout = 120
wait_timeout = 120
 
skip-name-resolve
#master-connect-retry = 10
slave-skip-errors = 1032,1062,126,1114,1146,1048,1396
 
#master-host   =  192.168.1.2
#master-user   =  username
#master-password =  password
#master-port   = 3309
 
server-id = 1
 
innodb_additional_mem_pool_size = 16M
innodb_buffer_pool_size = 20M
innodb_data_file_path = ibdata1:56M:autoextend
innodb_file_io_threads = 4
innodb_thread_concurrency = 8
innodb_flush_log_at_trx_commit = 2
innodb_log_buffer_size = 16M
innodb_log_file_size = 20M
innodb_log_files_in_group = 3
innodb_max_dirty_pages_pct = 90
innodb_lock_wait_timeout = 120
innodb_file_per_table = 0
 
#log-slow-queries = /home/longxibendi/mysql/3309/slow.log
#long_query_time = 10
 
[mysqldump]
quick
max_allowed_packet = 32M
 
" > /home/longxibendi/mysql/3309/my.cnf
 
 
############################### solve bug http://bugs.mysql.com/bug.php?id=37942 #############################################
 
mkdir -p /home/longxibendi/mysql/share/mysql/english/
cp /home/longxibendi/mysql/usr/local/mysql/share/mysql/english/errmsg.sys /home/longxibendi/mysql/share/mysql/english/
 
############################### start MySQL Server #############################################
/bin/sh /home/longxibendi/mysql/usr/local/mysql/bin/mysqld_safe --defaults-file=/home/longxibendi/mysql/3309/my.cnf 2>&1 > /dev/null &
############################### try use MySQL Server #############################################
/home/longxibendi/mysql/usr/local/mysql/bin/mysql -u root -p -S /home/longxibendi/mysql/usr/local/mysql/sock/mysql.sock -P3309 -h127.0.0.1 -e "show databases;"

四.成功安装结果

当安装完成之后,直接回车,就可以看到以下信息
 information_schema
 mysql
 test

以上就是mysql 5.1.45编译安装配置方法,希望对大家的学习有所帮助。