一、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. dream361@ubuntu16:~$ sudo aptitude install -y mariadb-server mariadb-client

2.安装数据库实例

  1. dream361@ubuntu16:~$ sudo mysql_secure_installation
  1. NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
  2. SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!
  3. In order to log into MariaDB to secure it, we'll need the current
  4. password for the root user.  If you've just installed MariaDB, and
  5. you haven't set the root password yet, the password will be blank,
  6. so you should just press enter here.
  7. Enter current password for root (enter for none): 设置root的密码1
  8. OK, successfully used password, moving on...
  9. Setting the root password ensures that nobody can log into the MariaDB
  10. root user without the proper authorisation.
  11. You already have a root password set, so you can safely answer 'n'.
  12. Change the root password? [Y/n] n 是否改变密码:n不改变
  13. ... skipping.
  14. By default, a MariaDB installation has an anonymous user, allowing anyone
  15. to log into MariaDB without having to have a user account created for
  16. them.  This is intended only for testing, and to make the installation
  17. go a bit smoother.  You should remove them before moving into a
  18. production environment.
  19. Remove anonymous users? [Y/n] y 是否移除测试用户:y是的
  20. ... Success!
  21. Normally, root should only be allowed to connect from 'localhost'.  This
  22. ensures that someone cannot guess at the root password from the network.
  23. Disallow root login remotely? [Y/n] y 是否允许root远程登录:n不允许
  24. ... Success!
  25. By default, MariaDB comes with a database named 'test' that anyone can
  26. access.  This is also intended only for testing, and should be removed
  27. before moving into a production environment.
  28. Remove test database and access to it? [Y/n] y 删掉测试数据库test:y删掉
  29. - Dropping test database...
  30. ... Success!
  31. - Removing privileges on test database...
  32. ... Success!
  33. Reloading the privilege tables will ensure that all changes made so far
  34. will take effect immediately.
  35. Reload privilege tables now? [Y/n] y 重新加载权限表:y重新加载
  36. ... Success!
  37. Cleaning up...
  38. All done!  If you've completed all of the above steps, your MariaDB
  39. installation should now be secure.
  40. Thanks for using MariaDB

3.查看MariaDB数据库服务状态 (这里也说明了MariaDB与其他Mysql数据库不能共存在同一操作系统)

  1. dream361@ubuntu16:~$ sudo systemctl status mysql

4.启动MariaDB数据库服务

  1. dream361@ubuntu16:~$ sudo systemctl start mysql

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

  1. dream361@ubuntu16:~$ sudo update-rc.d  mysql defaults

4.撤销随系统服务启动

  1. dream361@ubuntu16:~$ sudo update-rc.d  -f mysql remove

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

  1. dream361@ubuntu16:~$ sudo mysql -u root -p

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

  1. dream361@ubuntu16:~$ sudo mysqldump -uroot -p mysql >mysql.sql

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

  1. create user 'zhangdc'@'%' identified by '1';  (后面数字是密码 可自行设置)

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

  1. dream361@ubuntu16:~$ mysql -h localhost -u henry -p1

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

  1. dream361@ubuntu16:~$ sudo vim /etc/mysql/mariadb.conf.d/50-server.cnf

# 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.重启数据库服务,使配置生效

  1. dream361@ubuntu16:~$ sudo systemctl restart mysql

11.MariaDB版本

    1. dream361@ubuntu16:~$ mysql -V
    2. mysql  Ver 15.1 Distrib 10.0.29-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2

【Ubuntu 16.04.3 LTS】apt-get 安装MariaDB的更多相关文章

  1. Ubuntu 16.04.2 LTS 安装 jdk1.6 和 tomcat6 (一)

    java和tomcat环境配置已经有很多教程和文章,最近项目需要配置Ubuntu 16.04.2下的古老的java6和tomcat 6,遇到小坑,特记录和分享. 网上的教程不是太新,就是太老,还有一些 ...

  2. Ubuntu 16.04.2 LTS 安装 jdk1.6 和 tomcat6 (二)

    上一篇记录和分享了jdk1.6 在Ubuntu 16.04.2 环境下的安装配置,本文开始安装和配置tomcat 6     2 安装tomcat   http://tomcat.apache.org ...

  3. Ubuntu 16.04.4 LTS环境中php7.0使用mysqli失败,数据库无法访问

    环境: Ubuntu 16.04.4 LTS php7.0 输入命令php -m,显示如下,发现没有mysqli模块 输入命令sudo apt install php-mysql,安装mysql模块, ...

  4. Ubuntu 16.04.3 LTS u盘-安裝教程(填坑)

    Ubuntu 16.04.3 LTS 下载地址: https://www.ubuntu.com/download/desktop 下载u盘后文件为iso,可以选择UltraISO制作U盘启动,也可以直 ...

  5. Alienware-15-R3 装Ubuntu 16.04.3 LTS

    前言:Alienware-15-R3默认安装的系统是win10.现在卸载win0,装Ubuntu 16.04.3 LTS. 一.下载Ubuntu 16.04.3 LTS镜像文件,下载地址:https: ...

  6. Ubuntu 16.04下EasyOpenJTAG+OpenOCD的安装和使用【转】

    本文转载自:http://www.linuxdiyf.com/linux/24086.html Ubuntu 16.04下EasyOpenJTAG+OpenOCD的安装和使用 发布时间:2016-09 ...

  7. Ubuntu 16.04.4 LTS设置root用户登陆图形界面

    普通用户登陆真是太憋屈,这也不能那也不能,root用户登录就可以肆无忌惮了 本方法采用nano编辑器,ubantu版本Ubuntu 16.04.4 LTS,其他版本应该也一样,下面进入正题 1.终端登 ...

  8. ubuntu 16.04 anaconda 4.2.0 安装tensorflow 报错

    ubuntu 16.04 anaconda 4.2.0 安装tensorflow 报错. 安装pyenv后,在pyenv环境内安装 anaconda,然后再安装tensorflow不再报错,比较奇怪, ...

  9. ubuntu 16.04上 mysql 5.7 安装笔记

    一 安装 ubuntu 采用APT安装方式,可参考: Ubuntu 安装mysql和简单操作 Ubuntu 16.04安装MySQL(5.7.18) A Quick Guide to Using th ...

随机推荐

  1. 关于Eric 6的后端调试器无法启动错误 [The Debugger backend could not be started]

    声明: 1)本文由我bitpeach原创撰写.本篇如有转载,请注明来源. 2)本篇主要谈Eric6的一个怪异错误.因为篇幅不长,只是一个短记,以备档查阅. 1.1 软件环境 (1)Eirc6 ,版本号 ...

  2. tmux入门 : 3. 会话

      上一节我们已经将 tmux 安装好了,现在就可以通过以下命令来启动它: $ tmux 启动之后,可以看到命令行最底部多了一条绿色的状态条,上面显示了一些信息,比如计算机名和时间等. 要退出 tmu ...

  3. XAudio2学习之混音

    XAudio2不仅能够进行採样率转换.还能够进行混音.所谓混音就是将多路音频混合成一路进行输出.混音主要是IXAudio2SubmixVoice进行此项功能. 数据由IXAudio2SourceVoi ...

  4. iOS UITableView表视图滚动隐藏UINavigationController导航栏

    UITableView 继承于UIScrollView 所以UIScrollView 的代理方法相同适用于UITableView 中 隐藏导航栏的方法为: self.navigationControl ...

  5. CodeForces 390E Inna and Large Sweet Matrix(树状数组改段求段)

    树状数组仅仅能实现线段树区间改动和区间查询的功能,能够取代不须要lazy tag的线段树.且代码量和常数较小 首先定义一个数组 int c[N]; 并清空 memset(c, 0, sizeof c) ...

  6. Python 代码块左移或右移

    (就 IDE 是  PyCharm 来说) 选中代码块: 1)右移:直接 Tab 2)左移:Shift + Tab Python 对代码对齐要求很严格的. Python的对齐方式很重要,对齐方式决定了 ...

  7. jquery.validate.js 验证框架详解

    项目中遇到这个js框架 jQuery Validate 插件为表单提供了强大的验证功能,让客户端表单验证变得更简单,同时提供了大量的定制选项,满足应用程序各种需求.该插件捆绑了一套有用的验证方法,包括 ...

  8. Android中Context的总结及其用法

    在android中我们经常遇到这样的情况,在创建一个对象的时候往往需要传递一个this参数,比如:语句 MyView mView = new MyView(this),要求传递一个this参数,这个t ...

  9. 【学习笔记】C#中的单元测试

    周一老师讲完单元测试以后,感觉挺好玩,通过查资料和相关书籍学到了几种C#在VS2010的测试方法,跟大家分享下,图文并茂啊,有木有~~ 1.从被测试的代码中生成单元测试 1.1创建C#控制台程序,命名 ...

  10. c中头文件在cpp文件里引用和.h文件引用的思考

    我们在编敲代码中头文件是常常使用的. 可是头文件是应该包括在.H文件里还是在.cpp文件里.在这个其中有什么样去差别呢. 假如说我们编写了一个a.cpp  .我们将a.cpp文件的变量和函数申明在a. ...