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 *:*

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/567330.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何提高go代码覆盖率_如何通过静态分析提高iOS代码质量

随着项目的扩大,依靠人工codereview来保证项目的质量,越来越不现实,这时就有必要借助于一种自动化的代码审查工具:程序静态分析。程序静态分析(Program Static Analysis)是指在不运行代码的方式下,通过词法分析、语法分…

mysql 查看表是否存在_MySQL优化篇二

单表优化最佳左前缀原则为,保持索引的定义和使用顺序的一致性将含In的范围查询,放到where条件语句的最后。索引需要逐步优化两表优化小表驱动大表避免索引失效的一些原则:复合索引,不要跨列或无序使用(最佳左前缀&…

centos下mysql 命令_CentOS下mysql数据库常用命令总结

### 1.更改root密码mysqladmin -uroot password yourpassword### 2.远程登陆mysql服务器mysql -uroot -p -h192.168.137.10 -P3306### 3.查询数据库show databases;### 4.进入某个数据库use databasename;### 5.列出数据库中的表show tables;### 6.查看某个表全部字段desc slow…

java http请求_如何设置Fiddler来拦截Java代码发送HTTP请求,进行各种问题排查

我们使用Java的RestTemplate或者Apache的HTTPClient编程的时候,经常遇到需要跟踪Java代码发送的HTTP请求明细的情况。和javascript代码在浏览器里发送请求可以通过Chrome开发者工具方便地跟踪一样,对于Java代码发送的网络请求,我们也可以使用…

mysql自增id用完了_MySQL 自增 ID 用完了怎么办?

MySQL 自增 ID 用完了怎么办?在MySQL中有很多类型的自增ID,每个自增ID都设置了初始值,然后按照一定的步长增加,只要定义了字节长度,那么就会有上限,如果达到上限再次添加,则会报主键冲突错误&am…

第十篇学会编写python代码_Python之路,第十篇:Python入门与基础10

python3 函数函数(function)什么是函数:函数是可以重复执行的代码块,可以重复使用;作用: 定义用户级的函数;实现了一个代码块的封装;语法:def 函数名(参数列表):语句块(代码块)...…

python报错怎么看_python中的错误如何查看

python常见的错误有1.NameError变量名错误2.IndentationError代码缩进错误3.AttributeError对象属性错误4.TypeError类型错误5.IOError输入输出错误6.KeyError字典键值错误具体介绍1.NameError变量名错误报错:>>> print aTraceback (most recent call last…

http通道连接mysql_通过http tunnel连接mysql

在/etc/nginx/nginx.conf的第一行加上load_module /usr/lib64/nginx/modules/ngx_http_proxy_connect_module.so;nginx -s reload> nginx: [emerg] dlopen() "/usr/lib64/nginx/modules/ngx_http_proxy_connect_module.so" failed (/usr/lib64/nginx/modules/ngx_…

山洪沟防洪治理工程技术规范_幸福沟水库一期工程完工丨尚志城市供水、防洪、农业灌溉皆升级...

日前,尚志市幸福沟水库一期工程建设完成,已蓄水试运行。幸福沟水库工程是列入黑龙江省“十三五”规划的重点水利项目,是哈市重点推进的两座中型水库之一,也是尚志市一项打基础、利长远、惠民生的重大战略民生工程。幸福沟水库位于…

子类怎么继承父类方法中的变量_JavaOOP_04 封装 继承

一、封装概念:隐藏程序内部的具体实现细节,对外提供接口,从而提高程序的安全性。高内聚,低耦合。使用封装的步骤:1、属性私有化,使用private访问修饰符进行修饰2、对外提供 setter/getter 方法 setter设置值…

mySQL字符串字段区别_MySQL类型之(字符串列类型区分、数据类型区分)

1.首先CHAR, VARCHAR, TEXT和BINARY, VARBINARY, BLOB的区别:CHAR, VARCHAR, TEXT称为: 非二进制字符串;BINARY, VARBINARY, BLOB称为:二进制字符串;非二进制字符串和二进制字符串的区别是:非二进制字符串包含的是字符字符串…

mysql 社区版密码如何修改_如何用优雅的方法修改MySQL root密码

搭噶好,我系小编,我好久没发文章了啊,今天发文章的原因是,我竟然忘了我的MySQL root密码。。本来想找RAKsmart客服直接重置啥的,后来想想还是自己搞吧,还能长知识。然后,我发现一个事情&#xf…

python全局变量赋值_Python全局变量和局部变量

python中,对于变量作用域的规定有些不一样。在诸如C/C、java等编程语言中,默认在函数的内部是能够直接訪问在函数外定义的全局变量的,可是这一点在python中就会有问题。以下是一个样例。test.py:#!/usr/bin/pythonCOUNT1def func():COUNT CO…

mysql dos入门_在dos上操作mysql的基本?

2安装:A,双击运行“mysql-5.5.27-win32.msi”B,MySQL安装向导启动C,按“Next”继续3配置:MySQL是现在流行的关系数据库中其中的一种,相比其它的数据库管理系统(DBMS)来说,MySQL具有小巧、功能齐全、查询迅捷等优点。MySQL 主要目标是快速、健…

python读取api接口频率_Python基础(API接口测试)

importflask,json,pymysqlfrom flask importrequest, jsonify, Responsefrom datetime importdatetimefrom flask_cors importCORSdbpymysql.Connect(hostlocalhost,port3306,userroot,passwd24576946,dbschool,)cursordb.cursor()server flask.Flask(__name__)#允许跨域访问CO…

mysql初始化脚本建表_mysql新建表修改表sql脚本

新建表语句:-- ------------------------------------------------- 全量脚本-- ------------------------------------------------- 创建表 compet_info(大赛信息)的当前表SELECT Create Table compet_info-大赛信息...;DROP TABLE IF EXISTS compet_info;CREATE …

中countif函数_Count系列函数-Count、Counta、Countblank、Countif、Countifs

统计函数在我们的日常工作中也会经常使用。常见的有Count、Counta、Countblank、Countif、Countifs五个。Count用于统计数据类型的单元格个数,Counta用于统计非空单元格的个数,Countblank用于统计空单元格的个数,而Countif、Countifs用于条件…

labview实例_手把手以实例教你学LabVIEW编程,条件结构编程方法

LabVIEW又称为G语言,简单易学、形象直观,采用图形化的编程方式,是专为测试、测量和控制应用而设计的系统工程软件。在上篇文章(请参考:顺序结构编程)中已经讲了顺序结构的编程方法,下面通过具体例子演示条件结构的编程…

mysql数据变化通通知机制_深入理解Notification机制

先贴上这些源码里面相关的文件:framework/base/core/java/android/app/NotificationManager.javaframework/base/services/java/com/android/server/NotificationManagerService.java{hide} extends INotificationManager.Stubframework/base/services/java/com/and…

python与h5结合实例_使用h5py合并所有h5文件

您需要的是文件中所有数据集的列表。我认为这里需要的是recursive function的概念。这将允许您从一个组中提取所有的“数据集”,但是当其中一个看起来是组本身时,递归地执行相同的操作,直到找到所有数据集为止。例如:/|- dataset1…