本文目录一览:
- 1、如何在一个linux服务器上创建两个mysql实例
- 2、linux下mysql数据库备份工具有哪些
- 3、Linux下安装Mysql多实例作为数据备份服务器实现多主到一从多实例的备份
- 4、linux 系统可以安多个 mysql么?
如何在一个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当多个用。