MariaDB 的命令
让我们创建一个叫linoxidedb的用于测试的示例数据库。
使用以下命令用root账户登陆MySQL:
$ mysql -u root -p
输入mysql 的 root 用户密码后,你将进入mysql的命令行
创建测试数据库:
在mysql命令行输入以下命令以创建测试数据库。
mysql> create database linoxidedb;
查看可用的数据库,输入以下命令:
mysql> show databases;
creating test databases
如你所见,算上刚刚新建的linoxidedb我们一共有5个数据库。
mysql> quit
现在,我们就将刚创建的数据库从MySQL迁移到MariaDB。
注:使用CentOS这类基于fedora的linux发行版没有必要参考这篇教程,因为它们在安装MariaDB时会自动代替MySQL,无需备份现有的数据库,你只需要更新mysql就可以得到mariadb。
1. 备份现有的数据库
我们第一个重要的步骤就是备份现有的数据库。我们在终端(不是MySQL命令行)里输入如下命令来完成备份。
$ mysqldump --all-databases --user=root --password --master-data > backupdatabase.sql
哇哦!我们遇到了点麻烦。别担心我们可以搞定。
$ mysqldump: Error: Binlogging on server not active
mysqldump error
为了修复这个错误,我们需要对my.cnf文件做一些小改动。
编辑my.cnf文件:
$ sudo nano /etc/mysql/my.cnf
在[mysqld]部分添加如下参数。
log-bin=mysql-bin
configuring my.cnf
好了,在保存并关闭文件后,我们需要重启一下mysql服务。运行以下命令重启:
$ sudo /etc/init.d/mysql restart
现在,重新运行mysqldump命令来备份所有的数据库。
$ mysqldump --all-databases --user=root --password --master-data > backupdatabase.sql
dumping databases
上面的命令将会备份所有的数据库,把它们存储在当前目录下的backupdatabase.sql文件中。
2. 卸载MySQL
首先,我们得把my.cnf文件挪到安全的地方去。
注:在你卸载MySQL包的时候不会自动删除my.cnf文件,我们这样做只是以防万一。在MariaDB安装时,它会询问我们是保持现存的my.cnf文件,还是使用包中自带的版本(即新my.cnf文件)。
在shell或终端中输入如下命令来备份my.cnf文件:
$ sudo cp /etc/mysql/my.cnf my.cnf.bak
运行命令来终止mysql服务:
$ sudo /etc/init.d/mysql stop
然后移除mysql包:
$ sudo apt-get remove mysql-server mysql-client
uninstalling mysql
3. 安装MariaDB
这是在Ubuntu系统中安装MariaDB的命令:
$ sudo apt-get install software-properties-common
$ sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db
# sudo add-apt-repository 'deb http://mirror.mephi.ru/mariadb/repo/5.5/ubuntu trusty main'
adding mariadb repo
键值导入并且添加完仓库后,你就可以用以下命令安装MariaDB了:
$ sudo apt-get update
$ sudo apt-get install mariadb-server
installing mariadb
my.conf configuration prompt
我们应该还没忘记在MariaDB安装时,它会问你是使用现有的my.cnf文件,还是包中自带的版本。你可以使用以前的my.cnf也可以用包中自带的。即使你想直接使用新的my.cnf文件,你依然可以晚点时候将以前的备份内容还原进去(别忘了我们已经将它复制到安全的地方了)。所以,我们直接选择了默认的选项“N”。如果需要安装其他版本,请参考MariaDB官方仓库。
4. 恢复配置文件
想要将my.cnf.bak中的内容恢复到my.cnf,在终端中输入以下命令。由于my.cnf.bak文件在当前目录下,所以我们只要简单的执行以下命令即可:
$ sudo cp my.cnf.bak /etc/mysql/my.cnf
5. 导入数据库
最后,让我们把我们之前创建的数据库导入吧!运行一下命令即可完成导入。
$ mysql -u root -p < backupdatabase.sql
就这样,我们已成功将之前的数据库导入了进来。
来,让我们登录一下mysql命令行,检查一下数据库是否真的已经导入了:
$ mysql -u root -p
importing database
为了检查数据库是否被迁移到MariaDB,请在MariaDB命令行中输入“show databases;”不用输入(“”),如下:
mariaDB> show databases;
mysql to mariadb database migrated
如你所见,linoxidedb及所有的数据库都已经成功的被迁移了。
总结
最后,我们已经成功地从MySQL迁移到了MariaDB数据库管理系统。MariaDB比MySQL好,虽然在性能方面MySQL还是比它更快,但是MariaDB的优点在于它额外的特性与支持的许可证。这能够确保它自由开源(FOSS),并永久自由开源,相比之下MySQL还有许多额外的插件,有些不能自由使用代码、有些没有公开的开发进程、有些在不久的将来会变的不再自由开源。如果你有任何的问题、评论、反馈给我们,不要犹豫直接在评论区留下你的看法。谢谢观看本教程,希望你能喜欢MariaDB。
MariaDB 的命令相关推荐
- MariaDB通过命令行的方式导出指定数据库和还原指定数据库
摘要:今天由于需要需要从本地导出一份VP系统的数据库脚本,以前我都是通过工具直接导出,现在有同事说可以通过mysql的命令方式导出,我试了一下,可以,现在记录一下! 一:在MariaDB的安装目录下找 ...
- Linux下面MariaDB 管理命令基础使用
MariaDB 是 MySQL 的一个分,由于某些原因,使之取代了Mysql成为了 RHEL/CentOS 7 的默认数据库.针对数据库的操作我们经常做的操作就是增删查改,接下来就介绍下 MariaD ...
- mysql(mariadb)常用命令(持续更新ing)
目录 数据库 创建数据库 切换到某个 数据库下 表 创建表 创建数据 更新表中数据 查看表结构 重命名表 删除重复数据 查看前n行数据 列 增加列 修改列 主键 删除列 重命名列 mysql导入csv ...
- MySQL—Mysql与MariaDB启停命令的区别
MySQL MySQL启动 service mysqld start或者/bin/systemctl start mysqld.service MySQL状态 service mysqld statu ...
- mysql和mariadb可以同时使用吗,MariaDB与MySQL在一台服务器同时运行
[root@HE3 ~]#groupaddmariadb-g 513 [root@HE3 ~]#useradd -u 513-gmariadb-s /sbin/nologin -d /home/mar ...
- linux mariadb
https://www.linuxidc.com/Linux/2016-03/128880.htm -- sql 导入 接着输入你所导入到Centos下的数据库文Student.sql文件的位置 例如 ...
- 基线管理之MariaDB安全配置
实验目的 MariaDB的安全配置过程与配置方法,掌握数据库安全配置对安全运维至关重要. 实验环境 一台Centos7 已安装MariaDB数据库 MariaDB安装命令如下 yum -y insta ...
- 详解Linux下通过yum安装Mariadb/MySQL数据库(腾讯云也适用)
1. 安装Mariadb 安装命令 yum -y install mariadb mariadb-server 安装完成MariaDB,首先启动MariaDB systemctl start mari ...
- Linux安装MariaDB(Mysql)和简单配置
安装MariaDB 安装命令 yum -y install mariadb mariadb-server 安装完成MariaDB,首先启动MariaDB systemctl start mariadb ...
最新文章
- javascript简单的四则运算
- 选什么地方,进多少商品,想开超市,这些必须了解
- opencv-python将.tif格式的图像转为png格式
- 将PHP文件生成静态文件源码
- Python中使用xpath获取Scrtpt里面的内容
- logic:equal,logic:present用法
- hibernate数据库扫描实体类的配置
- 分享:架构师软技能之协商
- 电力拖动自动控制系统 华南理工大学期末重点 阮毅 长篇思维导图
- java截取视频图片做封面
- 手把手刷数据结构-3.手把手刷二叉树算法1
- 《国富论》亚当-斯密 - 阅读思考和笔记
- TYPORA主题更换
- SQLite用户权限
- Unity Addressable学习笔记二(Hosting热更新)
- 焦炉集气管压力模糊控制(三输入单输出)
- centos 6.3_x64编译7.4 LFS
- matlab atem(),非特定人的英文
- iOS 读书笔记-单元测试XCTest
- 网站导航怎么设置利于网站SEO优化
热门文章
- 稀物(原加密空间)联合国内多家知名数藏平台,开启空投狂欢节!
- Cannot run program “mvn“ (in directory “/var/lib/jenkins/workspace)
- 《金刚经》大致说什么
- 房地产结构性兼并潮到来
- Spring(Spring的理解+DI+Spring的创建)
- 服务器准系统diy,大男孩的快乐就是这么简单:DIY一个属于自己的机柜
- python常量基本类型有哪些_Python变量,常量,基本数据类型,输入用户交互,基础,input...
- 幼儿园的计算机一年级的教案,一年级活动教案
- 2021烟台大学计算机考研群,2021烟台大学研究生分数线一览表(含2019-2020历年复试)...
- 软件交付方式有哪些_如何交付有意义的软件