想吧mysql數據庫,MySQL數據庫筆記

本文目錄一覽:

如何把mysql數據庫設

MySQL默認的數據文件存儲目錄為/var/lib/mysql。假如要把MySQL目錄移到/home/data下需要進行下面幾步:

1、home目錄下建立data目錄

cd /home

mkdir data

2、把MySQL服務進程停掉

mysqladmin -u root -p shutdown

3、把/var/lib/mysql整個目錄移到/home/data

mv /var/lib/mysql /home/data/

這樣就把MySQL的數據文件移動到了/home/data/mysql下。

4、找到my.cnf配置文件

如果/etc/目錄下沒有my.cnf配置文件,請到/usr/share/mysql/下找到*.cnf文件,拷貝其中一個到/etc/並改名為my.cnf)中。命令如下:

[root@test1 mysql]# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf

5、編輯MySQL的配置文件/etc/my.cnf

為保證MySQL能夠正常工作,需要指明mysql.sock文件的產生位置。修改socket=/var/lib/mysql/mysql.sock一行中等號右邊的值為:/home/mysql/mysql.sock。操作如下:

vi  my.cnf  (用vi工具編輯my.cnf文件,找到下列數據修改之)

# The MySQL server

[mysqld]

port = 3306

#socket  = /var/lib/mysql/mysql.sock(原內容,為了更穩妥用“#”注釋此行)

socket  = /home/data/mysql/mysql.sock (加上此行)

6、修改MySQL啟動腳本/etc/init.d/mysql

最後,需要修改MySQL啟動腳本/etc/init.d/mysql,把其中datadir=/var/lib/mysql一行中,等號右邊的路徑改成你現在的實際存放路徑:home/data/mysql。

[root@test1 etc]# vi /etc/init.d/mysql

#datadir=/var/lib/mysql(注釋此行)

datadir=/home/data/mysql (加上此行)

7、重新啟動MySQL服務

/etc/init.d/mysql start

或用reboot命令重啟Linux

如果工作正常移動就成功了,否則對照前面的7步再檢查一下。

還要注意目錄的屬主和權限。

如何將mysql的一個完整數據庫全部複製到另外一個數據庫?

如果從庫上表 t 數據與主庫不一致,導致複製錯誤,整個庫的數據量很大,重做從庫很慢,如何單獨恢復這張表的數據?通常認為是不能修復單表數據的,因為涉及到各表狀態不一致的問題。下面就列舉備份單表恢復到從庫會面臨的問題以及解決辦法:

場景 1

如果複製報錯後,沒有使用跳過錯誤、複製過濾等方法修復主從複製。主庫數據一直在更新,從庫數據停滯在報錯狀態(假設 GTID 為 aaaa:1-100)。

修復步驟:

在主庫上備份表 t (假設備份快照 GTID 為 aaaa:1-10000);

恢復到從庫;

啟動複製。

這裡的問題是複製起始位點是 aaaa:101,從庫上表 t 的數據狀態是領先其他表的。aaaa:101-10000 這些事務中只要有修改表 t 數據的事務,就會導致複製報錯 ,比如主鍵衝突、記錄不存在(而 aaaa:101 這個之前複製報錯的事務必定是修改表 t 的事務)

解決辦法:啟動複製時跳過 aaaa:101-10000 這些事務中修改表 t 的事務。

正確的修復步驟:

1. 在主庫上備份表 t (假設備份快照 GTID 為 aaaa:1-10000),恢復到從庫;

2. 設置複製過濾,過濾表 t:

CHANGE REPLICATION FILTER REPLICATE_WILD_IGNORE_TABLE = (‘db_name.t’);

3. 啟動複製,回放到 aaaa:10000 時停止複製(此時從庫上所有表的數據都在同一狀態,是一致的);

START SLAVE UNTIL SQL_AFTER_GTIDS = ‘aaaa:10000’;

4. 刪除複製過濾,正常啟動複製。

注意事項:這裡要用 mysqldump –single-transaction –master-data=2,記錄備份快照對應的 GTID

場景 2

如果複製報錯後,使用跳過錯誤、複製過濾等辦法修復了主從複製。主、從庫數據一直在更新。

修復步驟:

在主庫上備份表 t (假設備份快照 GTID為 aaaa:1-10000);

停止從庫複製,GTID為 aaaa:1-20000;

恢復表 t 到從庫;

啟動複製。

這裡的問題是複製起始位點是 aaaa:20001,aaaa:10000-20000 這些事務將不會在從庫上回放,如果這裡面有修改表 t 數據的事務,從庫上將丟失這部分數據。

解決辦法:從備份開始到啟動複製,鎖定表 t,保證 aaaa:10000-20000 中沒有修改表 t 的事務。

正確修復步驟:

對錶 t 加讀鎖;

在主庫上備份表 t;

停止從庫複製,恢復表 t;

啟動複製;

解鎖表 t。

如果是大表,這裡可以用可傳輸表空間方式備份、恢復表,減少鎖表時間。

怎麼把mysql的數據庫上傳?

方法/步驟

1

登錄到phpMyAdmin

2

新建一個要導入的數據庫,點擊“+new”

3

如圖,分別填寫數據庫名稱,以及選擇數據庫的排序規則,

4

完成步驟3,點擊“創建”

5

完成步驟4,從右側就可以看到我們新創建的數據庫了,如果沒有立即顯示,刷新即可立馬顯示了。

6

單擊我們新創建的數據庫,

7

然後,我們選擇“導入”,

8

完成步驟7,我們點擊“選擇文件”,

9

點擊了“選擇文件”之後,就會出現如圖所示的彈出框,我們選擇要導入的sql就可以了,後綴名可以是.sql,也可以是壓縮文件.zip。如圖,選擇好文件之後,點擊“確定”就可以了

10

完成步驟⑨,你就可以從剛才的頁面中看到自己上傳的文件了,如圖所示,其餘選項默認就可以了,然後點擊“執行”就可以了。

11

這個時候,你就可以看到你的數據已經導入到你新創建的數據庫中了

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/231643.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-11 01:05
下一篇 2024-12-11 01:05

相關推薦

  • 如何修改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
  • 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
  • Python怎麼導入數據庫

    Python是一種高級編程語言。它具有簡單、易讀的語法和廣泛的庫,讓它成為一個靈活和強大的工具。Python的數據庫連接類型可以多種多樣,其中包括MySQL、Oracle、Post…

    編程 2025-04-28
  • MySQL左連接索引不生效問題解決

    在MySQL數據庫中,經常會使用左連接查詢操作,但是左連接查詢中索引不生效的情況也比較常見。本文將從多個方面探討MySQL左連接索引不生效問題,並給出相應的解決方法。 一、索引的作…

    編程 2025-04-28

發表回復

登錄後才能評論