重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
不能关闭。
创新互联公司是一家专业提供安定企业网站建设,专注与成都做网站、网站设计、H5页面制作、小程序制作等业务。10年已为安定众多企业、政府机构等服务。创新互联专业的建站公司优惠进行中。
mysqldump: 最早,也是最成熟的逻辑备份工具,是 MySQL 原生的用来备份整个数据库实例、单个数据库、单张表的逻辑备份工具, 上手简单,学习成本几乎为 0。备份简单,恢复也简单。
比如导出单个数据库 ytt: mysqldump ytt /tmp/ytt.sql;
恢复也非常简单:mysql /tmp/ytt.sql
缺点是备份速度慢。在整个备份过程中,是单线程运行;备份出来的数据集要恢复的话同样也是单线程运行,恢复速度也慢。除非对同一时刻的所有表单独备份出来,自己写额外脚本进行多线程恢复。
用MySQL实例管理器来启动服务器。
在这种情况下,Instance Manager的行为取决于MySQL配置文件中的选项。如果没有配置文件,MySQL实例管理器创建mysqld实例并试图用默认(编译嵌入的)配置来启动。这说明如果mysqld没有安装到 默认位置,IM不能猜出它的位置。如果你已经在非标准位置安装了MySQL服务器,你应使用配置文件。参见2.1.5节,“安装布局”。
如果有配置文件,IM将分析配置文件搜索[mysqld]部分(例如[mysqld]、[mysqld1]、[mysqld2]等)。每个部分指定一个实例。启动时IM将启动所有找到的实例。IM关闭时默认停止所有实例。
请注意有一个特殊选项mysqld-path(mysqld-path = path-to-mysqld- binary),只能用IM识别。使用该变量让IM知道mysqld二进制驻留在哪儿。你还应该为服务器设置basedir和datadir选项。
启用MySQL实例管理器的典型MySQL服务器启动/关闭循环为:
· 用/etc/init.d/mysql脚本启动MySQL实例管理器。
· MySQL实例管理器启动所有实例并监视它们。
· 如果某个服务器实例失败,MySQL实例管理器重启它。
· 如果MySQL实例管理器被关闭(例如用/etc/init.d/mysql stop命令),所有实例被MySQL实例管理器关闭。
全部启动、关闭:
mysqld_multi --defaults-extra-file=/etc/my.cnf start //启动
mysqld_multi --defaults-extra-file=/etc/my.cnf start 1,2 //启动
mysqld_multi --defaults-extra-file=/etc/my.cnf report 1,2 //查看实例状态
mysqld_multi --defaults-extra-file=/etc/my.cnf stop //关闭
mysqld_multi --defaults-file=/etc/my.cnf stop 1,2 --user=test --password=test //关闭
单实例启动、关闭:
mysqld_multi --defaults-extra-file=/etc/my.cnf start 1 //启动
mysqld_multi --defaults-extra-file=/etc/my.cnf stop 1 //关闭
mysqladmin -utest -ptest shutdown -h127.0.0.1 -P3306 //关闭
给你个linux的配置 my.cnf的内容
[mysqld_multi]
mysqld=/usr/local/mysql/bin/mysqld_safe
[client]
socket = /tmp/mysql.sock
default-character-set=utf8
[mysqld1]
datadir=/usr/local/mysql/data
basedir=/usr/local/mysql
character-set-server=utf8
default-storage-engine=innodb
port = 3306
table_open_cache = 64
innodb_data_home_dir = /usr/local/mysql/data
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = /usr/local/mysql/data
innodb_buffer_pool_size = 50M
innodb_additional_mem_pool_size = 2M
innodb_log_file_size = 5M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50
[mysqld2]
datadir=/usr/local/mysql/data1
basedir=/usr/local/mysql
character-set-server=utf8
default-storage-engine=innodb
port = 3307
table_open_cache = 64
innodb_data_home_dir = /usr/local/mysql/data1
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = /usr/local/mysql/data1
innodb_buffer_pool_size = 50M
innodb_additional_mem_pool_size = 2M
innodb_log_file_size = 5M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50
----【mysqld】中的配置和单实例的mysqld配置一致,多实例中每个[mysqld]需要有不同的端口号,sock,datadir
然后是启动:/usr/local/mysql/bin/mysqld_mulit --defaults-extra-file=/etc/my.cnf start 1
----这里的数字1 对应[mysqld1] ,关闭就是 把start 改成stop,启动所有就是 start all
其他命令你自己网上查下吧
mysql的多实例有两种方式可以实现,两种方式各有利弊。第一种是使用多个配置文件启动不同的进程来实现多实例,这种方式的优势逻辑简单,配置简单,缺点是管理起来不太方便。第二种是通过官方自带的mysqld_multi使用单独的配置文件来实现多实例,这种方式定制每个实例的配置不太方面,优点是管理起来很方便,集中管理。