日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

MySQL 多实例详解

發布時間:2024/4/13 数据库 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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、同步時間

yum?install?epel*

ntp 202.120.2.101

yum?install?-y ntp

ntpdate 202.120.2.101

hwclock -w

2、準備mysql依賴包

yum?install?-y autoconf* automake* zlib* libxml* ncurses-devel* libgcrypt* libtool* openssl*

yum?install?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編譯安裝mysql

tar?-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、啟動MySQL

mysqld_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 rows?in?set?(0.01 sec)

mysql> drop database?test;

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 rows?in?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、關閉MySQL

mysqladmin -S?/tmp/mysql.sock1?shutdown?建議使用


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、為mysqlroot用戶創建密碼

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.cnf


vim?/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 = 16M

mysqld_safe --defaults-file=/data/3309/my.cnf 2&1> >?/dev/null?#啟動mysqld

ss -tnl |?grep?330?#查看端口

LISTEN 0 50 *:3306 *:*

LISTEN 0 50 *:3307 *:*

LISTEN 0 50 *:3308 *:*

LISTEN 0 50 *:3309 *:*










本文轉自 chengxuyonghu 51CTO博客,原文鏈接:http://blog.51cto.com/6226001001/1795017,如需轉載請自行聯系原作者

總結

以上是生活随笔為你收集整理的MySQL 多实例详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。