首页 > 编程知识 正文

关于linux下mysql多实例的信息

时间:2023-12-27 15:09:10 阅读:323141 作者:TWPT

本文目录一览:

如何在一个linux服务器上创建两个mysql实例

这个是MySQL多实例的使用,不算难,MySQL是单进程、多线程的服务。因此,多实例的意思就是多进程的意思,他们使用的数据库文件,配置文件,都是独立的,完全不相干哈。有兴趣可以看看官方文档,如果初级入门可以看使用MariaDB数据库管理系统。linuxprobe.com/chapter-18.html 老刘的,入门还是够了。。。区别不大

linux下mysql数据库备份工具有哪些

1. mysqldump: 最早,也是最成熟的逻辑备份工具,是 MySQL 原生的用来备份整个数据库实例、单个数据库、单张表的逻辑备份工具, 上手简单,学习成本几乎为 0。备份简单,恢复也简单。

比如导出单个数据库 ytt: mysqldump ytt /tmp/ytt.sql;

恢复也非常简单:mysql /tmp/ytt.sql

缺点是备份速度慢。在整个备份过程中,是单线程运行;备份出来的数据集要恢复的话同样也是单线程运行,恢复速度也慢。除非对同一时刻的所有表单独备份出来,自己写额外脚本进行多线程恢复。

2. mysqlpump:MySQL 5.7 GA 后推出的 mysqldump工具的增强版。可以对同一个数据集多个线程并发备份,备份速度很快。

其他缺点和 mysqldump 一样。

3. MySQL Shell UTIL 对象附带的备份工具:随 MySQL 8.0.21 最新版本捆绑发布,自带多线程备份以及多线程恢复功能, 可以直接替代 mysqldump/mysqlpump。

dump_instance/dumpInstance 用来多线程备份 MySQL 整个单机实例

dump_schemas/dumpSchemas 用来多线程备份 MySQL 单个数据库

load_dump/loadDump 用来多线程恢复之前两个工具导出的数据集文件

MySQL Shell UTIL 备份恢复工具具备如下特性:

1. 压缩导出(默认压缩算法 zstd)

2. 数据集分块导出,每块 32M

3. 默认导出存储过程、存储函数、触发器、事件、用户、视图

4. 默认 4 个线程导出

5. 默认进度展示

6. 默认字符集 utf8mb4

7. 默认开启一致性导出

8. 默认表,视图等定义导出为 SQL 语句

9. 默认数据导出为 TSV 格式数据

Linux下安装Mysql多实例作为数据备份服务器实现多主到一从多实例的备份

1、从MYSQL官方下载MYSQL的源码版本【一定要是源码版本】

2、按以下代码键入LINUX命令行

复制代码

代码如下:

[注]

添加mysql组和用户

#groupadd

mysql

#useradd

-g

mysql

mysql

[注]

解包到/usr/local

#

tar

-xzf

mysql-standard-4.1.9-pc-linux-gnu-i686.tar.gz

-C

/usr/local

[注]

建立软链接,方便操作(此处给此连接命名为mysql001,也可为其它的名字)

#cd

/usr/local

#ln

-s

mysql-standard-5.0.15-linux-i686-glibc23

mysql001

#cd

mysql001

#scripts/mysql_install_db

#chown

-R

root

.

#chown

-R

mysql

data

#chgrp

-R

mysql

.

[注]

复制data,以供单版本多实例分配

#cp

-a

data

data_1

#cp

-a

data

data_2

[注]

添加多实例配置文件

#cd

/usr/local/mysql001/bin

#cat

my_multi.cnf

[注]

以下是my_multi.cnf的配置信息,可依此复制

[mysqld_multi]

mysqld

=

/usr/local/mysql001/bin/mysqld_safe

mysqladmin

=

/usr/local/mysql001/bin/mysqladmin

user

=

root

password

=

root

[mysqld1]

socket

=

/tmp/mysql_001.sock

port

=

3301

pid-file

=

/usr/local/mysql001/data_1/hostname.pid

datadir

=

/usr/local/mysql001/data_1

log

=

/usr/local/mysql001/data_1/hostname.log

user

=

mysql

#

slave

setting

server-id

=

2

master-host

=

192.168.1.85

master-port

=

3306

master-user

=

backup

master-password

=

123456

replicate-do-db

=

gs_database

replicate-do-db

=

gs_log

master-connect-retry=30

[mysqld2]

socket

=

/tmp/mysql_5_2.sock

port

=

3302

pid-file

=

/usr/local/mysql001/data_2/hostname.pid

datadir

=

/usr/local/mysql001/data_2

log

=

/usr/local/mysql001/data_2/hostname.log

user

=

mysql

#

slave

setting

server-id

=

3

master-host

=

192.168.1.69

master-port

=

3306

master-user

=

backup

master-password

=

123

replicate-do-db

=

gs_databaes

replicate-do-db

=

gs_log

master-connect-retry=30

CTRL+D退出。

复制代码

代码如下:

#vi

/etc/profile

#

添加系统环境变量。

export

MYSQL_HOME=/usr/local/mysql001/bin

export

PATH=$PATH:$MYSQL_HOME

重启系统让环境变量生效。

添加至开机自动启动【此处可不添加,依个人情况决定是否需要设置开机自动启动】

复制代码

代码如下:

vi

/etc/rc.local

#

添加

mysqld_multi

--defaults-extra-file=/usr/local/src/mysql_dir/bin/my_multi.cnf

start

1,2

3、其它一些技巧

#

访问某个实例:

mysql

-u

root

-S

/tmp/mysql_5_1.sock

-p

#

设置各个实例密码:

mysqladmin

-u

root

password

'root'

-S

/tmp/mysql_5_1.sock

#

手动启动各个实例:

mysqld_multi

--defaults-extra-file=/usr/local/src/mysql_dir/bin/my_multi.cnf

start

1,2

#

停止各个实例:

mysqld_multi

--defaults-extra-file=/usr/local/src/mysql_dir/bin/my_multi.cnf

stop

1,2

#

参考文章

由于第一次接触LINUX,花了三天时间才算有所成就,发出来希望可以给大伙带来方便

linux 系统可以安多个 mysql么?

可以只安装一个mysql。使用一套mysql程序,多个mysql的启动程序,使用多个端口,就是多实例。按一个mysql当多个用。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。