mysql-5.5.37多執行個體的安裝

來源:互聯網
上載者:User

標籤:mysql-5.5.37多執行個體

CentOS 6.2下安裝編譯mysql-5.5.37  ##多執行個體 原理也是先安裝單一實例後面安裝多執行個體


首先yum安裝

yum install gcc gcc-c++ cmake ncurses-devel bison


1 單一實例Mysql資料庫的安裝

1.1 建立mysql帳號

   [[email protected] ~]# groupadd mysql

   [[email protected] ~]# useradd -s /sbin/nologin -g mysql -M mysql   ##-M表示不建立家目錄

 

  建立完成之後查看下

   [[email protected] ~]# grep mysql /etc/passwd

   mysql:x:500:500::/home/mysql:/sbin/nologin


 1.2建立mysql的安裝目錄

   [[email protected] ~]# mkdir -p /usr/local/mysql

   [[email protected] ~]# mkdir -p /data/mysql/data

   


 1.3下載mysql http://dev.mysql.com/downloads/ 或者去搜狐鏡像源下載 然後上傳到伺服器



2;安裝mysql

 2,1檢測系統原來是否有安裝過mysql

      [[email protected] ~]# rpm -qa |grep mysql

      mysql-libs-5.1.61-1.el6_2.1.i686

      這裡是沒有安裝過mysql 如果有的話就需要先卸載mysql安裝包 rpm -e --nodeps mysql.X.X.X 


2,2安裝編譯mysql編譯所需要的包

 yum -y install make gcc-c++ cmake bison-devel  ncurses-devel

 如果前面安裝過這些包的話可以分開查詢下再安裝


2,3解壓mysql並安裝 

[[email protected] ~]# tar xzvf mysql-5.5.37.tar.gz

[[email protected] ~]# cd mysql-5.5.37 


cmake \

 -DMYSQL_USER=mysql \

 -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

-DINSTALL_DATADIR=/data/mysql/data \

-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DEXTRA_CHARSETS=all \

-DWITH_EMBEDDED_SERVER=1 \

-DENABLED_LOCAL_INFILE=1 \

-DWITH_MYISAM_STORAGE_ENGINE=1 \

-DWITH_INNOBASE_STORAGE_ENGINE=1


-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \       #通訊端檔案

[[email protected] mysql-5.6.23]# make && make install



3;初始化資料庫

[[email protected] mysql]# mkdir -p /data/mysql/data/{3306,3307}  ##建立兩個執行個體

/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/data/mysql/data/3306 --user=mysql

/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/data/mysql/data/3307 --user=mysql


chown -R mysql:mysql /usr/local/mysql 

chown -R mysql:mysql /data/mysql/data


4;建立設定檔

3306 my.cnf

[client]

port = 3306

socket = /data/mysql/data/3306/mysql.sock

[mysqld]

datadir=/data/mysql/data/3306

skip-name-resolve

lower_case_table_names=1

innodb_file_per_table=1

port = 3306

socket =/data/mysql/data/3306/mysql.sock

back_log = 50

max_connections = 300

max_connect_errors = 1000

table_open_cache = 2048

max_allowed_packet = 16M

binlog_cache_size = 2M

max_heap_table_size = 64M

sort_buffer_size = 2M

join_buffer_size = 2M

thread_cache_size = 64

thread_concurrency = 8

query_cache_size = 64M

query_cache_limit = 2M

ft_min_word_len = 4

default-storage-engine = innodb

thread_stack = 192K

transaction_isolation = REPEATABLE-READ

tmp_table_size = 64M

log-bin=mysql-bin

binlog_format=mixed

slow_query_log

long_query_time = 1

server-id = 1

key_buffer_size = 8M

read_buffer_size = 2M

read_rnd_buffer_size = 2M

bulk_insert_buffer_size = 64M

myisam_sort_buffer_size = 128M

myisam_max_sort_file_size = 10G

myisam_repair_threads = 1

myisam_recover

innodb_additional_mem_pool_size = 16M

innodb_buffer_pool_size = 200M

innodb_data_file_path = ibdata1:10M:autoextend

innodb_file_io_threads = 8

innodb_thread_concurrency = 16

innodb_flush_log_at_trx_commit = 1

innodb_log_buffer_size = 16M

innodb_log_file_size = 512M

innodb_log_files_in_group = 3

innodb_max_dirty_pages_pct = 60

innodb_lock_wait_timeout = 120

[mysqldump]

quick

max_allowed_packet = 256M

[mysql]

no-auto-rehash

prompt=\\[email protected]\\d \\R:\\m>

[myisamchk]

key_buffer_size = 512M

sort_buffer_size = 512M

read_buffer = 8M

write_buffer = 8M

[mysqlhotcopy]

interactive-timeout

[mysqld_safe]

open-files-limit = 8192


3307 my.cnf

[client]

port = 3307

socket = /data/mysql/data/3307/mysql.sock

[mysqld]

datadir=/data/mysql/data/3307

skip-name-resolve

lower_case_table_names=1

innodb_file_per_table=1

port = 3307

socket =/data/mysql/data/3307/mysql.sock

back_log = 50

max_connections = 300

max_connect_errors = 1000

table_open_cache = 2048

max_allowed_packet = 16M

binlog_cache_size = 2M

max_heap_table_size = 64M

sort_buffer_size = 2M

join_buffer_size = 2M

thread_cache_size = 64

thread_concurrency = 8

query_cache_size = 64M

query_cache_limit = 2M

ft_min_word_len = 4

default-storage-engine = innodb

thread_stack = 192K

transaction_isolation = REPEATABLE-READ

tmp_table_size = 64M

log-bin=mysql-bin

binlog_format=mixed

slow_query_log

long_query_time = 1

server-id = 1

key_buffer_size = 8M

read_buffer_size = 2M

read_rnd_buffer_size = 2M

bulk_insert_buffer_size = 64M

myisam_sort_buffer_size = 128M

myisam_max_sort_file_size = 10G

myisam_repair_threads = 1

myisam_recover

innodb_additional_mem_pool_size = 16M

innodb_buffer_pool_size = 200M

innodb_data_file_path = ibdata1:10M:autoextend

innodb_file_io_threads = 8

innodb_thread_concurrency = 16

innodb_flush_log_at_trx_commit = 1

innodb_log_buffer_size = 16M

innodb_log_file_size = 512M

innodb_log_files_in_group = 3

innodb_max_dirty_pages_pct = 60

innodb_lock_wait_timeout = 120

[mysqldump]

quick

max_allowed_packet = 256M

[mysql]

no-auto-rehash

prompt=\\[email protected]\\d \\R:\\m>

[myisamchk]

key_buffer_size = 512M

sort_buffer_size = 512M

read_buffer = 8M

write_buffer = 8M

[mysqlhotcopy]

interactive-timeout

[mysqld_safe]

open-files-limit = 8192


5;定義全域

[[email protected] mysql-5.5.37]# echo "export PATH=/usr/local/mysql/bin/:$PATH" >>/etc/profile

[[email protected] mysql-5.5.37]#source /etc/profile



6;啟動mysql

多執行個體地區檔案的啟動mysql服務實質:

mysqld_safe --defaults-file=/data/mysql/data/3306/my.cnf 2>&1 > /dev/null &

mysqld_safe --defaults-file=/data/mysql/data/3307/my.cnf 2>&1 > /dev/null &


6;登陸

[[email protected] 3307]# /usr/local/mysql/bin/mysql -uroot -p -S /data/mysql/data/3306/mysql.sock

[[email protected] 3307]# /usr/local/mysql/bin/mysql -uroot -p -S /data/mysql/data/3307/mysql.sock



7;停止mysql

/usr/local/mysql/bin/mysqladmin -u root -p  -S /data/mysql/data/3306/mysql.sock shutdown

/usr/local/mysql/bin/mysqladmin -u root -p  -S /data/mysql/data/3307/mysql.sock shutdown


8;啟動指令碼編寫

[[email protected] 3306]# vi mysqld

[[email protected] 3306]# chmod 700 mysqld


#!/bin/bash

mysql_port=3306

mysql_username="root"

#if passwd the set password

mysql_password="123"

function_start_mysql()

{

printf "Starting MySQL...\n"

}

function_stop_mysql()

{

printf "Stoping MySQL...\n"

/usr/local/mysql/bin/mysqladmin -u ${mysql_username} -p${mysql_password} -S /data/mysql/data/${mysql_port}/mysql.sock shutdown

}

function_restart_mysql()

{

printf "Restarting MySQL...\n"

function_stop_mysql

function_start_mysql

}

function_kill_mysql()

{

kill -9 $(ps -ef | grep ‘bin/mysqld_safe‘ | grep ${mysql_port} | awk ‘{printf $2}‘)

kill -9 $(ps -ef | grep ‘libexec/mysqld‘ | grep ${mysql_port} | awk ‘{printf $2}‘)

}

case $1 in

start)

function_start_mysql;;

stop)

function_stop_mysql;;

kill)

function_kill_mysql;;

restart)

function_stop_mysql

function_start_mysql;;

*)

echo "Usage: /data/mysql/data/${mysql_port}/mysqld {start|stop|restart|kill}";;

esac


#編寫3307指令碼

#!/bin/bash

mysql_port=3307

mysql_username="root"

mysql_password="123"

function_start_mysql()

{

printf "Starting MySQL...\n"

}

function_stop_mysql()

{

printf "Stoping MySQL...\n"

}

function_restart_mysql()

{

printf "Restarting MySQL...\n"

function_stop_mysql

function_start_mysql

}

function_kill_mysql()

{

kill -9 $(ps -ef | grep ‘bin/mysqld_safe‘ | grep ${mysql_port} | awk ‘{printf $2}‘)

kill -9 $(ps -ef | grep ‘libexec/mysqld‘ | grep ${mysql_port} | awk ‘{printf $2}‘)

}

case $1 in

start)

function_start_mysql;;

stop)

function_stop_mysql;;

kill)

function_kill_mysql;;

restart)

function_stop_mysql

function_start_mysql;;

*)

echo "Usage: /data/mysql/data/${mysql_port}/mysqld {start|stop|restart|kill}";;

esac


啟動方式:

/data/mysql/data/3306/mysqld start

/data/mysql/data/3307/mysqld start


[[email protected] 3307]# /data/mysql/data/3306/mysqld restart

Stoping MySQL...

Starting MySQL...

[[email protected] 3307]# /data/mysql/data/3307/mysqld restart

Stoping MySQL...

Starting MySQL...



9;開機自啟動mysql

[[email protected] 3307]# vi /etc/rc.local 


/data/mysql/data/3306/mysqld start >/dev/null 2>&1

/data/mysql/data/3307/mysqld start >/dev/null 2>&1









   


本文出自 “常想一二” 部落格,請務必保留此出處http://250919938.blog.51cto.com/962010/1684584

mysql-5.5.37多執行個體的安裝

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.