数据库服务器创建过程

CentOS-5.5-x86_64-bin

使用 yum 程序安装所需开发包(以下为标准的 RPM 包名称)
gcc gcc-c++ gcc-g77 libc-client flex bison autoconf automake bzip2-devel zlib-devel ncurses-devel libjpeg-devel libpng-devel libtiff-devel freetype-devel pam-devel vim

定时校正服务器时间
yum install ntp
crontab -e
1 4 * * * ntpdate 210.72.145.44
## 210.72.145.44 为中国国家授时中心服务器地址。

关闭ipv6支持,使用lsmod查看已载入系统的模块,查看是否已经加载ipv6,关闭则在/etc/modprobe.conf加入以下内容:
alias net-pf-10 off
alias ipv6 off

停止打印服务
[root@localhost ~]# /etc/init.d/cups stop
停止 cups: [确定]
[root@localhost ~]# chkconfig cups off

修改命令history记录
# vi /etc/profile
找到 HISTSIZE=1000 改为 HISTSIZE=100

源码安装MYSQL 5.5GA版
下载到/tmp mysql-5.5.8.tar.gz
tar zxvf mysql-5.5.8.tar.gz
CFLAGS="-O3 -g"
CXX=gcc
CXXFLAGS="-O3 -g -felide-constructors -fno-exceptions -fno-rtti"
export CFLAGS CXX CXXFLAGS
MY_dir="/usr/local/mysql"
cmake -DCMAKE_INSTALL_PREFIX="$MY_dir" -DDEFAULT_CHARSET=utf8 -DMYSQL_DATADIR="$MY_dir/"data/ -DCMAKE_INSTALL_PREFIX="$MY_dir" -DSYSCONFDIR="$MY_dir" -DDEFAULT_COLLATION=utf8_general_ci -DENABLE_DEBUG_SYNC=0 -DENABLED_LOCAL_INFILE=1 -DENABLED_PROFILING=1 -DWITH_READLINE=1 .
make
make install
./mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql


my.cnf 内容:
[client]
#password = your_password
port = 3306
socket = /tmp/mysql.sock
# Here follows entries for some specific programs
# The MySQL server
[mysqld]
port = 3306
socket = /tmp/mysql.sock
skip-external-locking
key_buffer_size = 256M
max_allowed_packet = 10M
table_open_cache = 512
sort_buffer_size = 2M
read_buffer_size = 1M
read_rnd_buffer_size = 4M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size= 16M
# Try number of CPU's*2 for thread_concurrency
thread_concurrency = 16
#5184 add
#skip-name-resolve
slow-query-log = 20
slow-query-log-file = /usr/local/mysql/data/slow.log
default-storage-engine = MyISAM
character-set-server = utf8
wait_timeout = 28800
interactive_timeout = 28800
#binlog-ignore-db = gk2011
max_heap_table_size=2048M
tmp_table_size = 2048M
max_connections = 4000
#5184 no password
#skip-grant-tables
#5184 add
log-bin=mysql-MasterSlave-bin
# binary logging format - mixed recommended
binlog_format=mixed
server-id = 1
innodb_data_file_path = ibdata1:256M:autoextend
innodb_log_group_home_dir = /usr/local/mysql/data
# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
innodb_buffer_pool_size = 512M
innodb_additional_mem_pool_size = 16M
# Set .._log_file_size to 25 % of buffer pool size
innodb_log_file_size = 128M
innodb_log_buffer_size = 16M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50
innodb_thread_concurrency = 8
innodb_max_dirty_pages_pct = 90
innodb_read_io_threads = 4
innodb_write_io_threads = 4
innodb_log_files_in_group = 2
[mysqldump]
quick
max_allowed_packet = 16M
[mysql]
no-auto-rehash
[myisamchk]
key_buffer_size = 128M
sort_buffer_size = 128M
read_buffer = 2M
write_buffer = 2M
[mysqlhotcopy]
interactive-timeout
启动mysql
/usr/local/mysql/bin/mysqld_safe --defaults-file=/usr/local/mysql/my.cnf --user=mysql &

修改root密码并删除匿名用户test库使用权限
mysql>use mysql;
mysql>update user set password=password('mylgesp') where user='root';
mysql>delete from db;
mysql>delete from user where user='';
mysql>quit;

在my.cnf里添加慢查询日志
[mysqld]
#5184 add
slow-query-log = 1
slow-query-log-file = /usr/local/mysql/data/slow.log
default-storage-engine = MyISAM
character-set-server = utf8 #如果不指定这个,程序连接可能导致乱码。查看mysql> show variables like '%character%'
wait_timeout = 300 #对当前连接有效。
interactive_timeout = 300 #对后续连接有效。



备份脚本
crontab -e 1 3 * * * /home/sh/mysql_back.sh
(优点:自动判断备份用户增加的数据库;恢复效率高。缺点:mysqlhotcopy只是针对MyISAM,ISAM表类型)
#!/bin/bash
#Creation Date:2010-12-23
#Auther:wubolu
clear
mkdir -p -m 700 /home/mysqlback/
back_dir=/home/mysqlback/
rq=`date +%Y%m%d`
hisdate=`date +%Y%m%d --date='7 days ago'`
dbname=(`ls -p /usr/local/mysql/data/ | grep / | tr -d / | grep -v '\<test'* | grep -v mysql`)
g=${#dbname[@]}
for((i=0;i<g;i++))
do
/usr/local/mysql/bin/mysqlhotcopy -q --noindices -u root -p 'PASSWORD' ${dbname[i]} $back_dir
done
zip -rmp /home/databack/$rq.zip /home/mysqlback/
rm -f /home/databack/$hisdate.zip





防火墙设置,在/etc/sysconfig/iptables加入以下规则
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -s 51.245.128.210 -p tcp --dport 3306 -j ACCEPT
-A RH-Firewall-1-INPUT -s 51.245.128.147 -p tcp --dport 3306 -j ACCEPT
-A RH-Firewall-1-INPUT -s 51.245.128.144 -p tcp --dport 3306 -j ACCEPT
-A RH-Firewall-1-INPUT -s 51.245.128.241 -p tcp --dport 3306 -j ACCEPT
-A RH-Firewall-1-INPUT -s 51.245.128.175 -p tcp --dport 3306 -j ACCEPT
-A RH-Firewall-1-INPUT -s 51.245.128.220 -p tcp --dport 3306 -j ACCEPT
-A RH-Firewall-1-INPUT -s 51.245.128.206 -p tcp --dport 3306 -j ACCEPT
-A RH-Firewall-1-INPUT -s 51.245.128.216 -p tcp --dport 3306 -j ACCEPT
-A RH-Firewall-1-INPUT -s 51.245.128.231 -p tcp --dport 3306 -j ACCEPT
-A RH-Firewall-1-INPUT -s 55.26.24.30 -p tcp --dport 3306 -j ACCEPT
-A RH-Firewall-1-INPUT -s 151.20.6.26 -p tcp --dport 3306 -j ACCEPT
-A RH-Firewall-1-INPUT -s 51.245.128.241 -p tcp --dport 873 -j ACCEPT
-A RH-Firewall-1-INPUT -s 51.245.128.241 -p udp --dport 873 -j ACCEPT

数据库测试
sysbench --debug=off --test=oltp --mysql-host=192.168.1.126 --mysql-user=root --mysql-password='password' --oltp-table-size=1000000 --mysql-db=sbtest --oltp-table-name=sbtest --num-threads=20 --max-requests=10000 --oltp-auto-inc=off --mysql-engine-trx=yes run


OLTP test statistics:
queries performed:
read: 140056
write: 50020
other: 20008
total: 210084
transactions: 10004 (2154.51 per sec.)
deadlocks: 0 (0.00 per sec.)
read/write requests: 190076 (40935.76 per sec.)
other operations: 20008 (4309.03 per sec.)

Test execution summary:
total time: 4.6433s
total number of events: 10004
total time taken by event execution: 92.6100
per-request statistics:
min: 3.82ms
avg: 9.26ms
max: 258.30ms
approx. 95 percentile: 19.25ms

Threads fairness:
events (avg/stddev): 500.2000/15.80
execution time (avg/stddev): 4.6305/0.00
----------------------------------------------------------------------------------

OLTP test statistics:
queries performed:
read: 140056
write: 50020
other: 20008
total: 210084
transactions: 10004 (2722.98 per sec.)
deadlocks: 0 (0.00 per sec.)
read/write requests: 190076 (51736.62 per sec.)
other operations: 20008 (5445.96 per sec.)

Test execution summary:
total time: 3.6739s
total number of events: 10004
total time taken by event execution: 73.2457
per-request statistics:
min: 2.58ms
avg: 7.32ms
max: 336.43ms
approx. 95 percentile: 13.99ms

Threads fairness:
events (avg/stddev): 500.2000/20.25
execution time (avg/stddev): 3.6623/0.00

你可能感兴趣的:(mysql,centos,Flex,gcc,J#)