最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

mysql主从数据库,分库分表等笔记_MySQL

来源:懂视网 责编:小采 时间:2020-11-09 18:38:07
文档

mysql主从数据库,分库分表等笔记_MySQL

mysql主从数据库,分库分表等笔记_MySQL:bitsCN.com mysql主从数据库,分库分表等笔记 1、mysql的目录:在rpm或者yum安装时:/var/lib/mysql 在编译安装时默认目录:/usr/local/mysql 2、用rpm包安装的MySQL是不会安装/etc/my.cnf文件的,至于为什么没有这个文件而MySQL却也能正常启动
推荐度:
导读mysql主从数据库,分库分表等笔记_MySQL:bitsCN.com mysql主从数据库,分库分表等笔记 1、mysql的目录:在rpm或者yum安装时:/var/lib/mysql 在编译安装时默认目录:/usr/local/mysql 2、用rpm包安装的MySQL是不会安装/etc/my.cnf文件的,至于为什么没有这个文件而MySQL却也能正常启动

bitsCN.com

mysql主从数据库,分库分表等笔记

1、mysql的目录:在rpm或者yum安装时:/var/lib/mysql 在编译安装时默认目录:/usr/local/mysql

2、用rpm包安装的MySQL是不会安装/etc/my.cnf文件的,

至于为什么没有这个文件而MySQL却也能正常启动和作用,在点有两个说法,

第一种说法,my.cnf只是MySQL启动时的一个参数文件,可以没有它,这时MySQL会用内置的默认参数启动,

第二种说法,MySQL在启动时自动使用/usr/share/mysql目录下的my-medium.cnf文件,这种说法仅限于rpm包安装的MySQL,

解决方法,只需要复制一个/usr/share/mysql目录下的.cnf文件到/etc目录,并改名为my.cnf即可。

在/usr/share/mysql目录下有很多语言目录和mysql多个适用于不同类型项目的对应配置文件

3、配置mysql的字符集设置:

在配置文件中

在socket = /var/lib/mysql/mysql.sock后添加default-character-set = utf8 (决定了客服端字符集和连接字符集)

在myisam_sort_buffer_size = 8M后添加character-set-server = utf8 (决定了服务器字符集和数据库[数据库,表,字段]字符集,由于继承关系),添加collaction-server=usf8_general_ci (这是设置校验字符集,作用于排序有关order by)

4、开启mysql的log-bin:

配置文件中开启 log-bin=mysql-bin (等于后面的内容可以随便写,mysql-bin只是说明log-bin的内容写入mysql-bin里面而已),重启mysql后,在/var/lib/mysql下能发现 mysql-bin.000001和mysql-bin.index,说明mysql-bin已经开启

5、关于mysqlbin的一些命令

mysql提示符下查看bin-log日志

show master status;

#显示最后一个bin-log日志和它的最后一个位置

show master logs;

#查看所有的bin-log日志,同时标记最后一个pos位置

6、使用mysqlbinlog命令来查看binlog日志

如果提示字符集错误---mysqlbinlog: unknown variable 'default-character-set=utf8' ,可以mysqlbinlog --no-defaults /var/lib/mysql/mysql-bin.000001来忽略字符集错误

7、什么时候会产生一个新bin-log日志

1)重启mysql服务

2)flush logs;

#刷新bin-log日志,会产生一个新的bin-log日志 如:mysql-bin.00008

3) reset master;

#清空所有在bin-log日志,最后只剩下mysql-bin.00001 且位置为初始位置

需求:公司内真正数据备份与恢复,9:30的时候备份数据,同时刷新bin-log日志,但是10:00数据损坏,如何去恢复9:30以来所有的数据?(在编译安装mysql环境下)

1.9:30备份数据:

/usr/local/mysql/bin/mysqldump -uroot -p123 test -l -F >/tmp/test.sql

-l 将表锁了(防止在导表的过程中,又有用户修改或者添加数据),只读 -F (flush) 刷新bin-log日志(产生新的日志文件,继续保存后面的日志记录)

2.9:30-10:00数据都会写到bin-log

/usr/loca/mysql/bin/mysqlbinlog --no-defaults mysql-bin.000003

#只保存增、删、改的语句

3.10:00数据损坏,如何恢复数据:

1)恢复9:30备份的数据

/usr/local/mysql/bin/mysql -uroot -p123 test

2)恢复9:30-10:00之间的bin-log日志中的增、删、改语句

/usr/local/mysql/bin/mysqlbinlog --no-defaults --stop-position=367 mysql-bin.000003|/usr/local/mysql/bin/mysql -uroot -p123 test

--stop-position 为要恢复数据在logbin的最后日志,可以通过查看日志文件查找位置,还有--start-position表示恢复从该位置以后的数据

4.这样,数据全部恢复完毕

8、主从数据库

从mysql服务器:

1.vi /etc/my.cnf

server-id = 2

log-bin=mysql-bin

master-host=192.168.255.1

master-user=user1

master-password=123

master-port=3306

2.重启mysql

3.show slave status/G

Slave_IO_Running: Yes

#从主服务器复制bin-log成功

Slave_SQL_Running: Yes

#把复制过来的sql语句执行成功

4.出错

#原因,与主服务器的最后一个pos位置对接不成功

slave stop;

change master to

master_host="192.168.10.1",

master_user="user1",

master_password='123',

master_port=3306,

#在主服务器上show master status;

master_log_file="mysql-bin.000001",

master_log_pos= 279;

slave start;

bitsCN.com

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

mysql主从数据库,分库分表等笔记_MySQL

mysql主从数据库,分库分表等笔记_MySQL:bitsCN.com mysql主从数据库,分库分表等笔记 1、mysql的目录:在rpm或者yum安装时:/var/lib/mysql 在编译安装时默认目录:/usr/local/mysql 2、用rpm包安装的MySQL是不会安装/etc/my.cnf文件的,至于为什么没有这个文件而MySQL却也能正常启动
推荐度:
标签: 数据 数据库 笔记
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top