mysql數據庫托從(MySql數據庫簡介)

本文目錄一覽:

如何配置兩個MySQL數據庫之間的主從同步功能?

IP的設置:A主機 IP:10.10.0.119;Mask:255.255.0.0;B主機 IP:10.10.8.112;Mask:255.255.0.0

在IP設置完成以後,需要確定兩主機的防火牆確實已經關閉。可以使用命令service iptables status查看防火牆狀態。如果防火牆狀態。

為仍在運行。使用service iptables stop來停用防火牆。如果想啟動關閉防火牆,可以使用setup命令來禁用或定製。最終以兩台主機可以相互ping通為佳。

3.2 配置A主(master) B從(slave)模式;3.2.1 配置A 為master。

增加一個用戶同步使用的帳號:

GRANT FILE ON *.* TO ‘backup’@’10.10.8.112′ IDENTIFIED BY ‘1234’;

GRANTREPLICATION SLAVE ON *.* TO ‘backup’@’10.10.8.112′ IDENTIFIED BY ‘1234’。

賦予10.10.8.112也就是Slave機器有File權限,只賦予Slave機器有File權限還不行,還要給它REPLICATION SLAVE的權限才可以。

增加一個數據庫作為同步數據庫:create database test;

創建一個表結構:create table mytest (username varchar(20),password varchar(20));

修改配置文件:修改A的/etc/my.cnf文件。

在my.cnf配置項中加入下面配置:

server-id = 1 #Server標識

log-bin

binlog-do-db=test #指定需要日誌的數據庫

重起數據庫服務:

service mysqld restart

查看server-id:

show variable like ‘server_id’。

mysql主從數據庫不同步的2種解決方法

今天發現Mysql的主從數據庫沒有同步

先上Master庫:

mysqlshow

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

好了,同步完成啦。

MYSQL數據怎麼從一個電腦轉移到另一個的電腦

1、找到my.ini文件,裡面有一行datadir=…的,就是數據庫文件目錄,

關掉mysql服務,將這個目錄整個拷貝過去

在那邊再配my.ini讓目錄吻合就行了。

2、

把數據庫上的資料備份出來,到另外一個數據庫還原,有工具PHPMYADMIN;

也可以命令行導出,

利用“mysqldump -u 用戶名 -p databasename exportfilename”導出數據庫到文件,導入:

進入MySQL Command Line Client,輸入密碼,進入到“mysql”,輸入命令”show databases;”,回車,看看有些什麼數據庫;建立你要還原的數據庫,輸入”create database voice;”,回車;切換到剛建立的數據庫,輸入”use voice;”,回車;導入數據,輸入”source voice.sql;”,回車,開始導入,再次出現”mysql”並且沒有提示錯誤即還原成功。

怎麼把mysql一個數據庫從一台機器上 拷貝到另外一台

1、在B機器上裝mysql。

將A機器上的mysql/data下的你的數據庫目錄整個拷貝下來。

將B機器上的mysql服務停止。

找到B機器上的mysql/data目錄,將你拷貝的目錄粘貼進去,然後啟動mysql服務就可以了。

2、使用SQL語句備份和恢復

你可以使用SELECT INTO OUTFILE語句備份數據,並用LOAD DATA INFILE語句恢複數據。這種方法只能導出數據的內容,不包括表的結構,如果表的結構文件損壞,你必須要先恢復原來的表的結構。

語法:

SELECT * INTO {OUTFILE | DUMPFILE} ’file_name’ FROM tbl_name

LOAD DATA [LOW_PRIORITY] [LOCAL] INFILE ’file_name.txt’ [REPLACE | IGNORE]

INTO TABLE tbl_name

SELECT … INTO OUTFILE ’file_name’

原創文章,作者:簡單一點,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/127608.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
簡單一點的頭像簡單一點
上一篇 2024-10-03 23:16
下一篇 2024-10-03 23:16

相關推薦

  • 如何修改mysql的端口號

    本文將介紹如何修改mysql的端口號,方便開發者根據實際需求配置對應端口號。 一、為什麼需要修改mysql端口號 默認情況下,mysql使用的端口號是3306。在某些情況下,我們需…

    編程 2025-04-29
  • Python 常用數據庫有哪些?

    在Python編程中,數據庫是不可或缺的一部分。隨着互聯網應用的不斷擴大,處理海量數據已成為一種趨勢。Python有許多成熟的數據庫管理系統,接下來我們將從多個方面介紹Python…

    編程 2025-04-29
  • openeuler安裝數據庫方案

    本文將介紹在openeuler操作系統中安裝數據庫的方案,並提供代碼示例。 一、安裝MariaDB 下面介紹如何在openeuler中安裝MariaDB。 1、更新軟件源 sudo…

    編程 2025-04-29
  • Java2D物理引擎簡介及應用

    本文將介紹Java2D物理引擎的基本概念、實現原理及應用案例,以及對應代碼示例。 一、物理引擎概述 物理引擎是一種計算機程序,用於模擬物理系統中的對象和其互動,如重力、碰撞、彈力等…

    編程 2025-04-29
  • Python操作MySQL

    本文將從以下幾個方面對Python操作MySQL進行詳細闡述: 一、連接MySQL數據庫 在使用Python操作MySQL之前,我們需要先連接MySQL數據庫。在Python中,我…

    編程 2025-04-29
  • 數據庫第三範式會有刪除插入異常

    如果沒有正確設計數據庫,第三範式可能導致刪除和插入異常。以下是詳細解釋: 一、什麼是第三範式和範式理論? 範式理論是關係數據庫中的一個規範化過程。第三範式是範式理論中的一種常見形式…

    編程 2025-04-29
  • MySQL遞歸函數的用法

    本文將從多個方面對MySQL遞歸函數的用法做詳細的闡述,包括函數的定義、使用方法、示例及注意事項。 一、遞歸函數的定義 遞歸函數是指在函數內部調用自身的函數。MySQL提供了CRE…

    編程 2025-04-29
  • leveldb和unqlite:兩個高性能的數據庫存儲引擎

    本文將介紹兩款高性能的數據庫存儲引擎:leveldb和unqlite,並從多個方面對它們進行詳細的闡述。 一、leveldb:輕量級的鍵值存儲引擎 1、leveldb概述: lev…

    編程 2025-04-28
  • MySQL bigint與long的區別

    本文將從數據類型定義、存儲空間、數據範圍、計算效率、應用場景五個方面詳細闡述MySQL bigint與long的區別。 一、數據類型定義 bigint在MySQL中是一種有符號的整…

    編程 2025-04-28
  • Django框架:從簡介到項目實戰

    本文將從Django的介紹,以及如何搭建Django環境開始,逐步深入到Django模型、視圖、模板、表單,最後通過一個小型項目實戰,進行綜合性的應用,讓讀者獲得更深入的學習。 一…

    編程 2025-04-28

發表回復

登錄後才能評論