根据单实例进行变更,主要变化文件为my.cnf文件和mysql文件
多实例以端口区分
需要注意下面文件内的端口的更改,和用户密码更改
my.cnf
[client]port = 3306socket =/data/3306/mysql.sock [mysql]no-auto-rehash [mysqld]user = mysqlport = 3306socket =/data/3306/mysql.sockbasedir = /application/mysqldatadir = /data/3306/dataopen_files_limit = 1024back_log = 600max_connections = 800max_connect_errors = 3000table_open_cache = 614external-locking = FALSEmax_allowed_packet =8Msort_buffer_size = 1Mjoin_buffer_size = 1Mthread_cache_size = 100thread_concurrency = 2query_cache_size = 2Mquery_cache_limit = 1Mquery_cache_min_res_unit = 2k#default_table_type = InnoDBthread_stack = 192K#transaction_isolation = READ-COMMITTEDtmp_table_size = 2Mmax_heap_table_size = 2Mlong_query_time = 1#log_long_format#log-error = /data/3306/error.log#log-slow-queries = /data/3306/slow.logpid-file = /data/3306/mysql.pidlog-bin = /data/3306/mysql-binrelay-log = /data/3306/relay-binrelay-log-info-file = /data/3306/relay-log.infobinlog_cache_size = 1Mmax_binlog_cache_size = 1Mmax_binlog_size = 2Mexpire_logs_days = 7key_buffer_size = 16Mread_buffer_size = 1Mread_rnd_buffer_size = 1Mbulk_insert_buffer_size = 1M#myisam_sort_buffer_size = 1M#myisam_max_sort_file_size = 10G#myisam_max_extra_sort_file_size = 10G#myisam_repair_threads = 1#myisam_recover lower_case_table_names = 1skip-name-resolveslave-skip-errors = 1032,1062replicate-ignore-db=mysql server-id = 1 innodb_additional_mem_pool_size = 4Minnodb_buffer_pool_size = 32Minnodb_data_file_path = ibdata1:128M:autoextendinnodb_file_io_threads = 4innodb_thread_concurrency = 8innodb_flush_log_at_trx_commit = 2innodb_log_buffer_size = 2Minnodb_log_file_size = 4Minnodb_log_files_in_group = 3innodb_max_dirty_pages_pct = 90innodb_lock_wait_timeout = 120innodb_file_per_table = 0[mysqldump]quickmax_allowed_packet = 2M [mysqld_safe]log-error=/data/3306/mysql_oldboy3306.errpid-file=/data/3306/mysqld.pid
mysql文件
#!/bin/sh#################################################this scripts is created by oldboy at 2007-06-09#oldboy QQ:31333741#site:http://www.etiantian.org#blog:http://oldboy.blog.51cto.com#oldboy trainning QQ group: 208160987 226199307 44246017################################################ #initport=3306mysql_user="root"mysql_pwd="oldboy"CmdPath="/application/mysql/bin"mysql_sock="/data/${port}/mysql.sock"#startup functionfunction_start_mysql(){ if [ ! -e"$mysql_sock" ];then printf "StartingMySQL...\n" /bin/sh${CmdPath}/mysqld_safe --defaults-file=/data/${port}/my.cnf 2>&1 >/dev/null & else printf "MySQL isrunning...\n" exit fi} #stop functionfunction_stop_mysql(){ if [ ! -e"$mysql_sock" ];then printf "MySQL isstopped...\n" exit else printf "StopingMySQL...\n" ${CmdPath}/mysqladmin-u ${mysql_user} -p${mysql_pwd} -S /data/${port}/mysql.sock shutdown fi} #restart functionfunction_restart_mysql(){ printf "RestartingMySQL...\n" function_stop_mysql sleep 2 function_start_mysql} case $1 instart) function_start_mysql;;stop) function_stop_mysql;;restart) function_restart_mysql;;*) printf "Usage:/data/${port}/mysql {start|stop|restart}\n"esac
1、删除/application/mysql/data/的数据
[root@db01 data]# rm -rf *[root@db01 data]# pwd/application/mysql/data[root@db01 data]#[root@db01 data]# ls
2、创建多实例的目录(端口区分)
mkdir /data/{3306,3307}/data -p
3、创建my.cnf mysql文件
[root@db01 3306]# lsdata my.cnf mysql[root@db01 3306]#
4、复制相关文件my.cnf、mysql 到每个目录下
\cp /data/3306/my.cnf mysql /data/3307/#保证是下面形式[root@db01 data]# tree.├── 3306│ ├── data│ ├── my.cnf│ └── mysql├── 3307 ├── data ├── my.cnf └── mysql
5、修改端口号与ID
#修改3307sed -i 's/3306/3307/g' /data/3307/my.cnfsed -i 's/server-id = 1/server-id = 7/g' /data/3307/my.cnfsed -i 's/3306/3307/g' /data/3307/mysql
6、初始化
cd /application/mysql/scripts./mysql_install_db --datadir=/data/3306/data--basedir=/application/mysql --user=mysql./mysql_install_db --datadir=/data/3307/data--basedir=/application/mysql --user=mysql
7、授权
chown -R mysql.mysql /data/find /data -type f -name mysql|xargs chmod 700
8、开启mysql
/data/3306/mysql start/data/3307/mysql start
9、检查端口
[root@db01 scripts]# netstat -lnt|grep 330tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:3307 0.0.0.0:* LISTEN
10、加入环境变量和开机自启动
[root@db01 ~]#PATH="$PATH:/application/mysql/bin"[root@db01 ~]# echo'PATH="$PATH:/application/mysql/bin"' >>/etc/profile[root@db01 ~]# . /etc/profile[root@db01 ~]#
11、加入开机自启动
echo "/data/3306/mysql start" >>/etc/rc.localecho "/data/3307/mysql start" >>/etc/rc.local[root@db01 ~]# tail -2 /etc/rc.local/data/3306/mysql start/data/3307/mysql start[root@db01 ~]#
感谢oldboy老师的教导!
本文出自 “宋某人c” 博客,请务必保留此出处http://syaving.blog.51cto.com/5614476/1879039