mysql 多数据库实例_Mysql多实例安装
前言:前文已經介紹單實例的安裝,我們接著進行Mysql的多實例安裝,我們利用多個配置文件,多個啟動文件管理多實例
一、安裝依賴包yum???install??ncurses-devel?libaio-devel?gcc??gcc-c++???cmake?perl
下載Mysql安裝包,下載地址mysql-5.5安裝包,并解壓安裝包tar?-zxvf?mysql-5.5.32.tar.gz
cd??mysql-5.5.32
編譯安裝cmake?\
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql?\
-DWITH_INNOBASE_STORAGE_ENGINE=1?\
-DWITH_FEDERATED_STORAGE_ENGINE=1?\
-DWITH_BLACKHOLE_STORAGE_ENGINE=1?\-DWITH_EXAMPLE_STORAGE_ENGINE=1?\-DWITH_PARTITION_STORAGE_ENGINE=1?\-DWITH_FAST_MUTEXES=1?\-DWITH_ZLIB=bundled?\-DENABLED_LOCAL_INFILE=1?\-DWITH_READLINE=1?\
-DWITH_EMBEDDED_SERVER=1?\
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock\
-DENABLED_LOCAL_INFILE=ON?\
-DDEFAULT_CHARSET=utf8?\
-DDEFAULT_COLLATION=utf8_general_ci?\
-DWITH_DEBUG=0
make?&&?make?install
二、配置用戶權限
設置Mysql用戶和組groupadd??mysql
useradd?-g?mysql?mysql
新建Mysql安裝目錄和數據文件目錄mkdir??-p?/usr/local/mysql
mkdir??-p?/data/3306
mkdir??-p?/data/3307
修改目錄所有者和組chown?-R??mysql:mysql??/usr/local/mysql
chown?-R??mysql:mysql??/data/3306
chown?-R??mysql:mysql??/data/3307
三、初始化數據庫,配置配置文件,配置啟動文件等/usr/local/mysql/scripts/mysql_install_db?--basedir=/usr/local/mysql?--datadir=/data/3306/data?--user=mysql
/usr/local/mysql/scripts/mysql_install_db?--basedir=/usr/local/mysql?--datadir=/data/3307/data?--user=mysql
創建多個配置文件vim??/data/3306/my.cnf
[client]
port?=?3306
socket?=?/data/3306/mysql.sock
[mysqld]
port?=?3306
socket?=?/data/3306/mysql.sock
basedir?=?/usr/local/mysql
datadir?=?/data/3306/data
skip-external-locking
key_buffer_size?=?16M
max_allowed_packet?=?1M
table_open_cache?=?64
sort_buffer_size?=?512K
net_buffer_length?=?8K
read_buffer_size?=?256K
read_rnd_buffer_size?=?512K
myisam_sort_buffer_size?=?8M
skip-name-resolve
log-bin=mysql-bin
binlog_format=mixed
max_binlog_size?=?500M
server-id?=?1
[mysqld_safe]
log-error=/data/3306/ilanni.err
pid-file=/data/3306/ilanni.pid
[mysqldump]
quick
max_allowed_packet?=?16M
[mysql]
no-auto-rehash
[myisamchk]
key_buffer_size?=?20M
sort_buffer_size?=?20M
read_buffer?=?2M
write_buffer?=?2M
[mysqlhotcopy]
interactive-timeout
拷貝一份給3307,幷打文件里的3306都替換為3307cp??/data/3306/my.cnf??/data/3307/my.cnf
sed?-i?'s/3306/3307/g'?/data/3307/my.cnf
創建Mysql服務啟動腳本vim?/data/3306/mysqld
#!/bin/bash
mysql_port=3306
mysql_username="admin"
mysql_password="password"
function_start_mysql()
{
printf?"Starting?MySQL...\n"
/bin/sh?/usr/local/mysql/bin/mysqld_safe?--defaults-file=/data/${mysql_port}/my.cnf?2>&1?>?/dev/null?&
}
function_stop_mysql()
{
printf?"Stoping?MySQL...\n"
/usr/local/mysql/bin/mysqladmin?-u?${mysql_username}?-p${mysql_password}?-S?/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_port}/mysqld?{start|stop|restart|kill}";;
esac
拷貝給3307一份啟動腳本,把里面的3306都改為3307,幷賦予啟動權限cp?/data/3306/mysqld?/data/3307/mysqld
sed?-i?'s/3306/3307/g'?/data/3307/mysqld
chmod?+x?/data/3306/mysqld
chmod?+x?/data/3307/mysqld
修改/etc/profile文件,末尾添加PATHPATH=/usr/local/mysql/bin:$PATH
export?PATH
保存修改,讓配置立即生效source?/etc/profile
四,啟動數據庫幷登錄/data/3306/mysqld?start
/data/3307/mysqld?start
mysql?-uroot?-p?-S?/data/3306/mysql.sock
mysql?-uroot?-p?-S?/data/3307/mysql.sock
總結
以上是生活随笔為你收集整理的mysql 多数据库实例_Mysql多实例安装的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql 5.5.15_mysql5.
- 下一篇: mysql 运行模式_MySQL的运行模