mysql实例详解_MySQL 多实例详解
MySQL多實例配置方法
1、單一配置文件
2、多配置文件。
二、實戰步驟:
1、同步時間
2、準備mysql依賴包
3、環境準備
3.1添加mysql用戶
3.2編譯安裝mysql
4、安裝MySQL多實例
5、準備配置文件
6、啟動MySQL
7、登錄mysql與一些安全措施
8、關閉MySQL
9,、提供簡易管理腳本
10、為mysql的root用戶創建密碼
11、附,多配置文件安裝mysql多實例,這里增加mysql 的3309端口
12、總結
1、同步時間yuminstall?epel*
ntp 202.120.2.101
yuminstall?-y ntp
ntpdate 202.120.2.101
hwclock -w
2、準備mysql依賴包yuminstall?-y autoconf* automake* zlib* libxml* ncurses-devel* libgcrypt* libtool* openssl*
yuminstall?cmake -y
3、環境準備
3.1添加mysql用戶groupadd mysql
useradd?-g mysql mysql
mkdir-pv/data/{3306,3307,3308}/data
chown-R mysql.mysql/data/
cd?/usr/local/src/
3.2編譯安裝mysqltar?-xf mysql-5.5.45.tar.gz
cd?mysql-5.5.45
chown?mysql.mysql -R .
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql?\
-DMYSQL_DATADIR=/data?\
-DSYSCONFDIR=/etc?\
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
-DWITH_LIBWRAP=0 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci
gmake
make?install
4、安裝MySQL多實例cd?/usr/local/mysql/
scripts/mysql_install_db?--user=mysql --basedir=/usr/local/mysql?--datadir=/data/3306/
scripts/mysql_install_db?--user=mysql --basedir=/usr/local/mysql?--datadir=/data/3307/
scripts/mysql_install_db?--user=mysql --basedir=/usr/local/mysql?--datadir=/data/3308/
5、準備配置文件mysqld_multi --example >/data/multi.cnf#提供多配置文件模板vim/data/multi.cnf#修改模板,這里比較簡易
[mysqld_multi]
mysqld =/usr/local/mysql/bin/mysqld_safe
mysqladmin =/usr/local/mysql/bin/mysqladmin
user = root
#這個用戶應該有關機權限,然后沒有其他的權限。建議創建一個通用的,multi_admin用戶控制其它的MySQL用戶,這里有個例子
#GRANT SHUTDOWN ON *.* TO multi_admin@localhost IDENTIFIED BY 'password'
[mysqld1]
socket =/tmp/mysql.sock1
port = 3306
pid-file?=/data/3306/mysql.pid
datadir =/data/3306/data
[mysqld2]
socket =/tmp/mysql.sock2
port = 3307
pid-file?=/data/3307/mysql.pid
datadir =/data/3307/data
#language = /usr/local/mysql/share/mysql/english
#user = unix_user1
[mysqld3]
#mysqld = /path/to/mysqld_safe
#ledir = /path/to/mysqld-binary/
#mysqladmin = /path/to/mysqladmin
socket =/tmp/mysql.sock3
port = 3308
pid-file?=/data/3308/mysql.pid
datadir =/data/3308/data
#language = /usr/local/mysql/share/mysql/swedish
#user = unix_user2
以上是簡易的配置文件。這個配置文件只能讓MySQL啟動起來。
6、啟動MySQLmysqld_multi --defaults-file=/data/multi.cnf start 1,2,3
ss -tnl#查看監聽端口
LISTEN 0 50 *:3306 *:*
LISTEN 0 50 *:3307 *:*
LISTEN 0 50 *:3308 *:*
7、登錄mysql與一些安全措施mysql -S/tmp/mysql.sock1#指定socket登錄mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
|test?|
+--------------------+
4 rowsin?set?(0.01 sec)
mysql> drop databasetest;
Query OK, 0 rows affected (0.04 sec)
mysql>select?User,Host from mysql.user;
+------+-----------+
| User | Host |
+------+-----------+
| root | 127.0.0.1 |
| root | ::1 |
| | localhost |
| root | localhost |
| | node1 |
| root | node1 |
+------+-----------+
6 rowsin?set?(0.01 sec)
mysql> delete from mysql.user where User='';
Query OK, 2 rows affected (0.00 sec)
mysql> delete from mysql.user where Host='::1';
Query OK, 1 row affected (0.00 sec)
mysql> delete from mysql.user where Host='node1';
Query OK, 1 row affected (0.00 sec)
其余的操作類似,就不在演示
8、關閉MySQLmysqladmin -S/tmp/mysql.sock1shutdown?建議使用
musqld_multi --defaults-file?stop [#,#]
killall mysqld 不建議使用
9,、提供簡易管理腳本#!/bin/bash
#
basedir=/usr/local/mysql
bindir=/usr/local/mysql/bin
conf=/data/multi.cnf
export?PATH=$bindir:/$PATH
if?test?-x $bindir/mysqld_multi
then
mysqld_multi="$bindir/mysqld_multi";
else
echo?"Can't execute $bindir/mysqld_multi from dir $basedir";
exit;
fi
case?"$1"?in
'start'?)
"$mysqld_multi"?--defaults-extra-file=$conf start $2
;;
'stop'?)
"$mysqld_multi"?--defaults-extra-file=$conf stop $2
;;
'report'?)
"$mysqld_multi"?--defaults-extra-file=$conf report $2
;;
'restart'?)
"$mysqld_multi"?--defaults-extra-file=$conf stop $2
"$mysqld_multi"?--defaults-extra-file=$conf start $2
;;
*)
echo?"Usage: $0 {start|stop|report|restart}"?>&2
;;
esac
10、為mysql的root用戶創建密碼mysqladmin -uroot -S/tmp/mysql.sock2 password"123456"#指定socket文件位置即可
其余的操作一樣
11、附,多配置文件安裝mysql多實例,這里增加mysql 的3309端口mkdir?-pv/data/3309/data
chown?mysql.mysql -R 3309/
cd?/usr/local/mysql
scripts/mysql_install_db--datadir=/data/3309/data/--user=mysql --basedir=/usr/local/mysql/
cp?support-files/my-small.cnf/data/3309/my.cnfvim/data/3309/my.cnf
[client]
port = 3309#這里也需要注意下吧
socket =/tmp/mysql.sock4
[mysqld]
port = 3309#注意端口
socket =/tmp/mysql.sock4#注意socket
skip-external-locking
key_buffer_size = 16K
max_allowed_packet = 1M
table_open_cache = 4
sort_buffer_size = 64K
read_buffer_size = 256K
read_rnd_buffer_size = 256K
net_buffer_length = 2K
thread_stack = 128K
datadir=/data/3309/data?#注意datadir
server-id?= 1
[mysqldump]
quick
max_allowed_packet = 16Mmysqld_safe --defaults-file=/data/3309/my.cnf 2&1> >/dev/null#啟動mysqldss -tnl |grep?330#查看端口
LISTEN 0 50 *:3306 *:*
LISTEN 0 50 *:3307 *:*
LISTEN 0 50 *:3308 *:*
LISTEN 0 50 *:3309 *:*
總結
以上是生活随笔為你收集整理的mysql实例详解_MySQL 多实例详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 乒乓球十一分制比赛规则_乒乓球竞赛规则
- 下一篇: python中selenium打开浏览器