怎么查看mysql数据库数据文件

怎么查看mysql数据库数据文件,第1张

查看my.ini或my.conf文件,从中查找datadir设置,可以得到mysql数据库文件存放位置

关于修改,一般步骤如下:

一.首先把mysql的服务先停掉。

二.更改MySQL配置文件My.ini中的数据库存储主路径

三.将老的数据库存储主路径中的数据库文件和文件夹复制到新的存储主路径

将原文件夹中的所有文件和文件夹拷贝到你新建的文件夹目录下。

四.重启MySQL服务

五.验证更改数据库存储主路径的 *** 作是否成功

今天发现Mysql的主从数据库没有同步

先上Master库:

mysql>show

processlist

查看下进程是否Sleep太多。发现很正常。

show

master

status

也正常。

mysql>

show

master

status

+-------------------+----------+--------------+-------------------------------+

|

File

|

Position

|

Binlog_Do_DB

|

Binlog_Ignore_DB

|

+-------------------+----------+--------------+-------------------------------+

|

mysqld-bin.000001

|

3260

|

|

mysql,test,information_schema

|

+-------------------+----------+--------------+-------------------------------+

1

row

in

set

(0.00

sec)

再到Slave上查看

mysql>

show

slave

status\G

Slave_IO_Running:

Yes

Slave_SQL_Running:

No

可见是Slave不同步

下面介绍两种解决方法:

方法一:忽略错误后,继续同步

该方法适用于主从库数据相差不大,或者要求数据可以不完全统一的情况,数据要求不严格的情况

解决:

stop

slave

#表示跳过一步错误,后面的数字可变

set

global

sql_slave_skip_counter

=1

start

slave

之后再用mysql>

show

slave

status\G

查看:

Slave_IO_Running:

Yes

Slave_SQL_Running:

Yes

ok,现在主从同步状态正常了。。。

方式二:重新做主从,完全同步

该方法适用于主从库数据相差较大,或者要求数据完全统一的情况

解决步骤如下:

1.先进入主库,进行锁表,防止数据写入

使用命令:

mysql>

flush

tables

with

read

lock

注意:该处是锁定为只读状态,语句不区分大小写

2.进行数据备份

#把数据备份到mysql.bak.sql文件

[root@server01

mysql]#mysqldump

-uroot

-p

-hlocalhost

>

mysql.bak.sql

这里注意一点:数据库备份一定要定期进行,可以用shell脚本或者python脚本,都比较方便,确保数据万无一失

3.查看master

状态

mysql>

show

master

status

+-------------------+----------+--------------+-------------------------------+

|

File

|

Position

|

Binlog_Do_DB

|

Binlog_Ignore_DB

|

+-------------------+----------+--------------+-------------------------------+

|

mysqld-bin.000001

|

3260

|

|

mysql,test,information_schema

|

+-------------------+----------+--------------+-------------------------------+

1

row

in

set

(0.00

sec)

4.把mysql备份文件传到从库机器,进行数据恢复

#使用scp命令

[root@server01

mysql]#

scp

mysql.bak.sql

root@192.168.128.101:/tmp/

5.停止从库的状态

mysql>

stop

slave

6.然后到从库执行mysql命令,导入数据备份

mysql>

source

/tmp/mysql.bak.sql

7.设置从库同步,注意该处的同步点,就是主库show

master

status信息里的|

File|

Position两项

change

master

to

master_host

=

'192.168.128.100',

master_user

=

'rsync',

master_port=3306,

master_password='',

master_log_file

=

'mysqld-bin.000001',

master_log_pos=3260

8.重新开启从同步

mysql>

stop

slave

9.查看同步状态

mysql>

show

slave

status\G

查看:

Slave_IO_Running:

Yes

Slave_SQL_Running:

Yes

好了,同步完成啦。

两台机器,192.168.162.128(主) 192.168.162.130(从)

配置主的配置文件

vi /etc/my.cnf

创建复制用户并授权给从服务器

grant replication slave on *.* to 'rpl'@'192.168.162.130' identified by '123456'

重启主服务器的MySQL  /etc/init.d/mysqld restart

查看master信息: 进入MySQL  show master status \G

修改从库配置文件

vi /etc/my.cnf

重启从服务器MySQL,进入MySQL

指定主服务器IP等信息

change master to master_host='192.168.162.128 ',master_user='rpl',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=647

启动slave  :start slave

查看slave状态:show slave status \G

报错Last_IO_Error: Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDsthese UUIDs must be different for replication to work

意思是主和从必须都要有不同的uuid,我们分别去查看下主从的uuid

主:server-uuid=4e6c5a78-1e9a-11e7-8c65-000c29426312

查看从库uuid  从库uuid:server-uuid=4e6c5a78-1e9a-11e7-8c65-000c29426312

可以看出是真的一样,原因在于 我是先安装了一个虚拟机并装好MySQL,后面有复制了一遍,作为从服务器,所以导致了这个UUID是一样的。

接下来就是解决这个UUID问题,将从库上的auto.cnf 备份下。然后重启从库。再看下从库的UUID

[auto]

server-uuid=2e9c834a-1eb2-11e7-864b-000c2928472e

再次查看从库状态

从库状态正常了

11.测试主从是否正常

主库上创建一个测试库,test :create database test

创建测试表:

create table test.test(

id int,

username varchar(10)

)ENGINE='innodb'

12.查看从库: 

正常,说明主从搭建成功


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6666818.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-26
下一篇 2023-03-26

发表评论

登录后才能评论

评论列表(0条)

保存