一、Mysql背景信息

Mysql在互联网早期就流行了,追求速度、简单、坚持开源、几乎支持所有操作系统。完全支持多用户、多线程,支持海量数据存储,采用MyISAM、InnoDB两大存储引擎优势互补。但随着InnoDB和Mysql自身被Oracle收购,促使Mysql的创始人开发了MariaDB。

MariaDB最大的特点就是采用XtraDB存储引擎,并和原生版本兼容,保留了Mysql的自由开放,XtraDB是Percona开发的高性能存储引擎,主要是为了替代InnoDB.除了XtraDB引擎,后起之秀TokuDB支持高性能、事务处理的存储引擎,性能比InnoDB高出很多,超高的insert性能、高压缩比、支持在线修改索引、添加字段。

安装时Mysql、MariaDB、Percona Server 不能共存,要部署MariaDB就必须卸载另外两个。否则出现“mysql service masked”错误。

二、安装MariaDB

1.安装数据库环境

--1.1查看apt远程仓库中已有的mariadb安装包

sudo apt-cache search mariadb
或者
sudo apt-cache search mariadb-server
sudo apt-cache search mariadb-client

--1.2安装mariadb服务端和客户端软件

sudo aptitude install -y mariadb-server mariadb-client

2.安装数据库实例

--2.1 执行mysql_secure_installation

sudo mysql_secure_installation

--2.2 交互式安装过程

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none): 设置root的密码1
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

You already have a root password set, so you can safely answer 'n'.

Change the root password? [Y/n] n 是否改变密码:n不改变
 ... skipping.

By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] y 是否移除测试用户:y是的
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] y 是否允许root远程登录:n不允许
 ... Success!

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] y 删掉测试数据库test:y删掉
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] y 重新加载权限表:y重新加载
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB

3.查看MariaDB数据库服务状态 (与原生MySQL共用一个服务名,这说明了MariaDB与其他Mysql数据库不能共存在同一操作系统)

sudo systemctl status mysql.service

4.启动MariaDB数据库服务

sudo systemctl start mysql.service

3.设置mysql随系统服务启动

sudo update-rc.d  mysql defaults

4.撤销随系统服务启动

sudo update-rc.d  -f mysql remove

5.与之前版本mysql不同,需要获得操作系统管理员权限,才能登录MariaDB的root用户,普通操作系统用户不能登录MariaDB数据库root用户

sudo mysql -u root -p

6.备份mysql数据库 也需要获得操作系统管理员才能执行备份

sudo mysqldump -uroot -p mysql >mysql.sql

7.创建普通数据库用户 (登录普通数据库用户则不需要获得操作系统管理员权限)

';

8.登录远地数据库(需要henry@'%')

mysql -h localhost -u henry -p1

9.修改MariaDB配置文件,监听外网访问

9.1 编辑mariadb配置文件

-server.cnf 

9.2 注释bind-address这一行

# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
#bind-address        = 127.0.0.1  #注释掉这一行

10.重启数据库服务,使配置生效

sudo systemctl restart mysql.service

11.MariaDB版本

mysql -V
mysql  Ver -MariaDB, for debian-linux-gnu (x86_64) using readline 5.2

三、卸载mariadb

--3.1无询问方式卸载mariadb-server、mariadb-client及其依赖包,并删除mysql配置文件

sudo aptitude purge mariadb-server mariadb-client -y
#这种方式清除,mariadb数据库文件依然存在

--3.2卸载信息

The following packages will be REMOVED:
  libaio1{u} libdbd-mysql-perl{u} libdbi-perl{u} libhtml-template-perl{u}
  libmysqlclient20{u} libreadline5{u} libterm-readkey-perl{u} mariadb-client{p}
  mariadb-client-10.0{u} mariadb-client-core-10.0{u} mariadb-common{u}
  mariadb-server{p} mariadb-server-10.0{u} mariadb-server-core-10.0{u}
  mysql-common{u}
0 packages upgraded, 0 newly installed, 15 to remove and 48 not upgraded.
Need to get 0 B of archives. After unpacking 145 MB will be freed.
(正在读取数据库 ... 系统当前共安装有 288232 个文件和目录。)
正在卸载 mariadb-server (10.0.29-0ubuntu0.16.04.1) ...
(正在读取数据库 ... 系统当前共安装有 288229 个文件和目录。)
正在卸载 mariadb-server-10.0 (10.0.29-0ubuntu0.16.04.1) ...
正在卸载 mariadb-server-core-10.0 (10.0.29-0ubuntu0.16.04.1) ...
正在处理用于 man-db (2.7.5-1) 的触发器 ...
(正在读取数据库 ... 系统当前共安装有 288061 个文件和目录。)
正在卸载 mariadb-client (10.0.29-0ubuntu0.16.04.1) ...
(正在读取数据库 ... 系统当前共安装有 288058 个文件和目录。)
正在卸载 mariadb-client-10.0 (10.0.29-0ubuntu0.16.04.1) ...
正在卸载 mariadb-client-core-10.0 (10.0.29-0ubuntu0.16.04.1) ...
正在卸载 libaio1:amd64 (0.3.110-2) ...
正在卸载 libdbd-mysql-perl (4.033-1ubuntu0.1) ...
正在卸载 libdbi-perl (1.634-1build1) ...
正在卸载 libhtml-template-perl (2.95-2) ...
正在卸载 libmysqlclient20:amd64 (5.7.18-0ubuntu0.16.04.1) ...
正在卸载 libreadline5:amd64 (5.2+dfsg-3build1) ...
正在卸载 libterm-readkey-perl (2.33-1build1) ...
正在卸载 mariadb-common (10.0.29-0ubuntu0.16.04.1) ...
update-alternatives: 使用 /etc/mysql/my.cnf.fallback 来在自动模式中提供 /etc/mysql/my.cnf (my.cnf)
正在卸载 mysql-common (5.7.18-0ubuntu0.16.04.1) ...
正在处理用于 man-db (2.7.5-1) 的触发器 ...
正在处理用于 libc-bin (2.23-0ubuntu7) 的触发器 ...

--3.3 清除残余文件

---3.3.1 查看mariadb残余文件

sudo dpkg -l | grep mariadb

---3.3.2清除残余文件

sudo dpkg --purge mariadb-client-10.0 mariadb-common mariadb-server-10.0 mysql-common #在清除mariadb-server-10.0时会询问是否删除数据库

【Ubuntu16】apt-get安装MariaDB的更多相关文章

  1. Ubuntu16.04编译安装php

    #Ubuntu16.04编译安装php Ubuntu16.04上面搭建基于Nginx的php服务.Nginx使用apt直接安装的. sudo apt install nginx php的安装部署步骤主 ...

  2. Ubuntu安装MariaDB教程

    一.环境 服务器:Ubuntu 16.04.1 LTS(GUN/Linux 4.4.0-91-generic x86_64) 数据库版本:MariaDB 10.3 二.安装流程 2.1 进入Maria ...

  3. docker学习笔记(一)—— ubuntu16.04下安装docker

    docker学习笔记(一)—— ubuntu16.04下安装docker 原创 2018年03月01日 14:53:00 标签: docker / ubuntu 1682 本文开发环境为Ubuntu ...

  4. SLAM+语音机器人DIY系列:(二)ROS入门——3.在ubuntu16.04中安装ROS kinetic

    摘要 ROS机器人操作系统在机器人应用领域很流行,依托代码开源和模块间协作等特性,给机器人开发者带来了很大的方便.我们的机器人“miiboo”中的大部分程序也采用ROS进行开发,所以本文就重点对ROS ...

  5. ubuntu16.04下安装artoolkit5

    目前对AR技术的常见理解就是CV(Computer Vision)+CG(Computer Graphic).CV的方法很多,简单些比如FREAK+ICP(ARToolKit中的NFT),复杂些就是S ...

  6. Ubuntu16.04上安装neo4j数据库

    什么是neo4j数据库? neo4j数据库是图数据库的一种,属于nosql的一种,常见的nosql数据库还有redis.memcached.mongDB等,不同于传统的关系型数据库,nosql数据也有 ...

  7. 【Ubuntu 16.04.3 LTS】apt-get 安装MariaDB

    一.Mysql背景信息 Mysql在互联网早期就流行了,追求速度.简单.坚持开源.几乎支持所有操作系统.完全支持多用户.多线程,支持海量数据存储,采用MyISAM.InnoDB两大存储引擎优势互补.但 ...

  8. CentOS通过yum安装MariaDB(MySQL)无法启动服务或者找不到mysql.sock

    转载自:http://www.linuxidc.com/Linux/2016-03/129396.htm 今天在Linux主机(CentOS 7)安装(yum install方式)Mariadb(即开 ...

  9. 在Ubuntu16.04 TLS 安装LAMP

    准备在虚拟机上搭建一个靶机系统(DoraBox),但是还不想使用一键搭建所以起了心思准备使用LAMP框架搭载这个靶机系统,于是有了以下文章,先从百度搜索一下,Ubuntu搭建LAMP. 然后点进去第一 ...

随机推荐

  1. classloader加载的双亲委托模式

    要深入了解ClassLoader,首先就要知道ClassLoader是用来干什么的,顾名思义,它就是用来加载Class文件到JVM,以供程序使用 的.我们知道,java程序可以动态加载类定义,而这个动 ...

  2. C/C++中static的用法全局变量与局部变量

    1.什么是static? static 是C/C++中很常用的修饰符,它被用来控制变量的存储方式和可见性. 1.1static的引入 我们知道在函数内部定义的变量,当程序执行到它的定义处时,编译器为它 ...

  3. 【Unity游戏开发】SDK接入与集成——小白入门篇

    一.简介 通常一款游戏开发到后期,一般都会涉及到第三方SDK的接入与集成,对于不熟悉SDK接入的同学来说,接SDK每次都是云里雾里,而熟悉SDK接入的同学又觉得不断地重复做接入SDK工作这样没有成就感 ...

  4. Struts2入门项目开发小步骤

    Step1: Struts2的获取和添加到项目中: 在官方网站:http://struts.apache.org 获取Struts的其中一个版本. 在开发项目之前,需要添加struts2的类库支持,也 ...

  5. (转)Spring中ThreadLocal的认识

    我们知道Spring通过各种DAO模板类降低了开发者使用各种数据持久技术的难度.这些模板类都是线程安全的,也就是说,多个DAO可以复用同一个模板实例而不会发生冲突.我们使用模板类访问底层数据,根据持久 ...

  6. 最近任务 && react文章列表

    最近任务 读书 数据分析 react深入学习 可视化大图 移动端入门 [React学习] 入门学习-文本渲染 http://www.cnblogs.com/huxiaoyun90/p/4783663. ...

  7. web前端开发面试题(未完待续)

    一.HTML与XHTML的不同:1)XHTML元素必须被正确地嵌套 2)元素必须被关闭   如:<h1>--</h1>关闭 3)标签名必须用小写字母 4)XHTML文档必须有根 ...

  8. 使用maven搭建环境

    今天第一次用maven创建springmvc工程,下载配置都很成功,但用命令行创建项目时遇到一些问题: 1.命令行显示命令不为内部或外部命令: 解决方法:使用管理员模式打开命令行 2. 显示到如下图所 ...

  9. 连续子序列最大和的O(NlogN)算法

    对于一个数组,例如:int[] a = {4,-3,5,-2,-1,2,6,-2}找出一个连续子序列,对于任意的i和j,使得a[i]+a[i+1]+a[i+2]+.......+a[j]他的和是所有子 ...

  10. WIN10-64+CUDA8.0+OpenCV3.0+VS2015配置

    在网上参考了各位前辈的攻略后,捣鼓了两天总算配置成功了. 目前网上多的还是ubuntu上配置CUDA的教程比较多比较详尽,但是我现在就是想在windows10上跑啊,就是想用CUDA啊... 1.CU ...