自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何在Linux中將MySQL遷移到MariaDB

系統(tǒng) Linux 系統(tǒng)運(yùn)維 MariaDB
MySQL到MariaDB的遷移并不難。你應(yīng)該知道,MariaDB相比MySQL有很多新的功能。至于配置方面,在我的測(cè)試情況下,我只是將我舊的MySQL配置文件(my.cnf)作為MariaDB的配置文件,導(dǎo)入過(guò)程完全沒(méi)有出現(xiàn)任何問(wèn)題。對(duì)于配置文件,我建議你在遷移之前請(qǐng)仔細(xì)閱讀MariaDB配置選項(xiàng)的文件,特別是如果你正在使用MySQL的特定配置。

自從甲骨文收購(gòu) MySQL 后,由于甲骨文對(duì) MySQL 的開(kāi)發(fā)和維護(hù)更多傾向于閉門(mén)的立場(chǎng),很多 MySQL 的開(kāi)發(fā)者和用戶(hù)放棄了 MySQL。在社區(qū)驅(qū)動(dòng)下,促使更多人遷移到 MySQL 的另一個(gè)叫 MariaDB 的分支。在原有 MySQL 開(kāi)發(fā)人員的帶領(lǐng)下,MariaDB 的開(kāi)發(fā)遵循開(kāi)源的理念,并確保它的二進(jìn)制格式與 MySQL 兼容。Linux 發(fā)行版如 Red Hat 家族(Fedora,CentOS,RHEL),Ubuntu 和 Mint,openSUSE 和 Debian 已經(jīng)開(kāi)始使用,并支持 MariaDB 作為 MySQL 的直接替換品。

如果你想要將 MySQL 中的數(shù)據(jù)庫(kù)遷移到 MariaDB 中,這篇文章就是你所期待的。幸運(yùn)的是,由于他們的二進(jìn)制兼容性,如果你參照下面的步驟,MySQL遷移到 MariaDB 的過(guò)程將是非常簡(jiǎn)單的。

準(zhǔn)備 MySQL 數(shù)據(jù)庫(kù)和表

出于演示的目的,我們?cè)谧鲞w移之前在數(shù)據(jù)庫(kù)中創(chuàng)建一個(gè)測(cè)試的 MySQL 數(shù)據(jù)庫(kù)和表。如果你在 MySQL 中已經(jīng)有了要遷移到 MariaDB 的數(shù)據(jù)庫(kù),跳過(guò)此步驟。否則,按以下步驟操作。

在終端輸入 root 密碼登錄到 MySQL 。

  1. $ mysql -u root -p

創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)和表。

  1. mysql> create database test01;
  2. mysql> use test01;
  3. mysql> create table pet(name varchar(30), owner varchar(30), species varchar(20), sex char(1));

在表中添加一些數(shù)據(jù)。

  1. mysql> insert into pet values('brandon','Jack','puddle','m'),('dixie','Danny','chihuahua','f');

退出 MySQL 數(shù)據(jù)庫(kù)。

備份 MySQL 數(shù)據(jù)庫(kù)

下一步是備份現(xiàn)有的 MySQL 數(shù)據(jù)庫(kù)。使用下面的 mysqldump 命令導(dǎo)出現(xiàn)有的數(shù)據(jù)庫(kù)到文件中。運(yùn)行此命令之前,請(qǐng)確保你的 MySQL 服務(wù)器上啟用了二進(jìn)制日志。如果你不知道如何啟用二進(jìn)制日志,請(qǐng)參閱結(jié)尾的教程說(shuō)明。

  1. $ mysqldump --all-databases --user=root --password --master-data > backupdb.sql

現(xiàn)在,在卸載 MySQL 之前先在系統(tǒng)上備份 my.cnf 文件。此步是可選的。

  1. $ sudo cp /etc/mysql/my.cnf /opt/my.cnf.bak

卸載 MySQL

首先,停止 MySQL 服務(wù)。

  1. $ sudo service mysql stop

或者:

  1. $ sudo systemctl stop mysql

或:

  1. $ sudo /etc/init.d/mysql stop

然后繼續(xù)下一步,使用以下命令移除 MySQL 和配置文件。

在基于 RPM 的系統(tǒng)上 (例如 CentOS,F(xiàn)edora 或 RHEL):

  1. $ sudo yum remove mysql* mysql-server mysql-devel mysql-libs
  2. $ sudo rm -rf /var/lib/mysql

在基于 Debian 的系統(tǒng)上(例如Debian,Ubuntu或 Mint):

  1. $ sudo apt-get remove mysql-server mysql-client mysql-common
  2. $ sudo apt-get autoremove
  3. $ sudo apt-get autoclean
  4. $ sudo deluser mysql
  5. $ sudo rm -rf /var/lib/mysql

安裝 MariaDB

在 CentOS/RHEL 7和Ubuntu(14.04或更高版本)上,***的 MariaDB 已經(jīng)包含在其官方源。在 Fedora 上,自19 版本后 MariaDB 已經(jīng)替代了 MySQL。如果你使用的是舊版本或 LTS 類(lèi)型如 Ubuntu 13.10 或更早的,你仍然可以通過(guò)添加其官方倉(cāng)庫(kù)來(lái)安裝 MariaDB。

MariaDB 網(wǎng)站 提供了一個(gè)在線工具幫助你依據(jù)你的 Linux 發(fā)行版來(lái)添加 MariaDB 的官方倉(cāng)庫(kù)。此工具為 openSUSE,Arch Linux,Mageia,F(xiàn)edora,CentOS,RedHat,Mint,Ubuntu 和 Debian 提供了 MariaDB 的官方倉(cāng)庫(kù)。

下面例子中,我們使用 Ubuntu 14.04 發(fā)行版和 CentOS 7 配置 MariaDB 庫(kù)。

#p#

Ubuntu 14.04

  1. $ sudo apt-get install software-properties-common
  2. $ sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db
  3. $ sudo add-apt-repository 'deb http://mirror.mephi.ru/mariadb/repo/5.5/ubuntu trusty main'
  4. $ sudo apt-get update
  5. $ sudo apt-get install mariadb-server

CentOS 7

以下為 MariaDB 創(chuàng)建一個(gè)自定義的 yum 倉(cāng)庫(kù)文件。

  1. $ sudo vi /etc/yum.repos.d/MariaDB.repo

  1. [mariadb]
  2. name = MariaDB
  3. baseurl = http://yum.mariadb.org/5.5/centos7-amd64
  4. gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
  5. gpgcheck=1

  1. $ sudo yum install MariaDB-server MariaDB-client

安裝了所有必要的軟件包后,你可能會(huì)被要求為 MariaDB 的 root 用戶(hù)創(chuàng)建一個(gè)新密碼。設(shè)置 root 的密碼后,別忘了恢復(fù)備份的 my.cnf 文件。

  1. $ sudo cp /opt/my.cnf /etc/mysql/

現(xiàn)在啟動(dòng) MariaDB 服務(wù)。

  1. $ sudo service mariadb start

或:

  1. $ sudo systemctl start mariadb

或:

  1. $ sudo /etc/init.d/mariadb start

導(dǎo)入 MySQL 的數(shù)據(jù)庫(kù)

***,我們將以前導(dǎo)出的數(shù)據(jù)庫(kù)導(dǎo)入到 MariaDB 服務(wù)器中。

  1. $ mysql -u root -p < backupdb.sql

輸入你 MariaDB 的 root 密碼,數(shù)據(jù)庫(kù)導(dǎo)入過(guò)程將開(kāi)始。導(dǎo)入過(guò)程完成后,將返回到命令提示符下。

要檢查導(dǎo)入過(guò)程是否完全成功,請(qǐng)登錄到 MariaDB 服務(wù)器,并查看一些樣本來(lái)檢查。

  1. $ mysql -u root -p

  1. MariaDB [(none)]> show databases;
  2. MariaDB [(none)]> use test01;
  3. MariaDB [test01]> select * from pet;

結(jié)論

如你在本教程中看到的,MySQL到 MariaDB 的遷移并不難。你應(yīng)該知道,MariaDB 相比 MySQL 有很多新的功能。至于配置方面,在我的測(cè)試情況下,我只是將我舊的 MySQL 配置文件(my.cnf)作為 MariaDB 的配置文件,導(dǎo)入過(guò)程完全沒(méi)有出現(xiàn)任何問(wèn)題。對(duì)于配置文件,我建議你在遷移之前請(qǐng)仔細(xì)閱讀 MariaDB 配置選項(xiàng)的文件,特別是如果你正在使用 MySQL 的特定配置。

如果你正在運(yùn)行有海量的表、包括群集或主從復(fù)制的數(shù)據(jù)庫(kù)的復(fù)雜配置,看一看 Mozilla IT 和 Operations 團(tuán)隊(duì)的 更詳細(xì)的指南 ,或者 官方的 MariaDB 文檔。

故障排除

在運(yùn)行 mysqldump 命令備份數(shù)據(jù)庫(kù)時(shí)出現(xiàn)以下錯(cuò)誤。

  1. $ mysqldump --all-databases --user=root --password --master-data > backupdb.sql

  1. mysqldump: Error: Binlogging on server not active

通過(guò)使用 "--master-data",你可以在導(dǎo)出的輸出中包含二進(jìn)制日志信息,這對(duì)于數(shù)據(jù)庫(kù)的復(fù)制和恢復(fù)是有用的。但是,二進(jìn)制日志未在 MySQL 服務(wù)器啟用。要解決這個(gè)錯(cuò)誤,修改 my.cnf 文件,并在 [mysqld] 部分添加下面的選項(xiàng)。(LCTT 譯注:事實(shí)上,如果你并沒(méi)有啟用二進(jìn)制日志,那取消"--master-data"即可。)

  1. log-bin=mysql-bin

保存 my.cnf 文件,并重新啟動(dòng) MySQL 服務(wù):

  1. $ sudo service mysql restart

或者:

  1. $ sudo systemctl restart mysql

或:

  1. $ sudo /etc/init.d/mysql restart
責(zé)任編輯:火鳳凰 來(lái)源: Linux中國(guó)
相關(guān)推薦

2013-05-03 09:49:38

MySQLMariaDB

2013-06-21 13:49:08

MariaDB

2022-12-22 09:00:00

微服務(wù)架構(gòu)

2013-04-25 09:53:52

MariaDB

2013-09-17 09:49:38

大數(shù)據(jù)NoSQLMariaDB

2018-07-10 14:46:04

LinuxShellsudo

2018-12-19 09:20:45

Linux遷移安裝軟件

2022-05-31 10:38:50

Linux密碼scp

2018-01-08 08:50:05

Linux內(nèi)核系統(tǒng)程序

2013-04-25 10:43:33

維基百科MySQLMariaDB

2017-03-17 15:25:54

LinuxMySQLroot密碼

2020-03-06 08:56:41

Linux運(yùn)算符文本

2017-10-20 08:45:15

數(shù)據(jù)庫(kù)MongoDBMySQL

2012-05-21 10:23:36

2010-07-20 09:48:33

2021-10-08 11:07:54

云計(jì)算數(shù)據(jù)中心IT

2016-11-15 14:29:14

Linux文件編碼轉(zhuǎn)換

2016-10-26 16:44:44

WatchfinderAWS云計(jì)算

2018-12-19 09:48:00

Linux網(wǎng)絡(luò)系統(tǒng)設(shè)置

2018-07-10 14:29:05

Linux命令行
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)