【Ubuntu16】apt-get安裝MariaDB

1、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」錯誤。
2、安裝MariaDB
1.安裝數據庫環境html

--1.1查看apt遠程倉庫中已有的mariadb安裝包mysql

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

--1.2安裝mariadb服務端和客戶端軟件linux

sudo aptitude install -y mariadb-server mariadb-client

2.安裝數據庫實例sql

--2.1 執行mysql_secure_installation數據庫

sudo mysql_secure_installation

--2.2 交互式安裝過程ubuntu

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數據庫不能共存在同一操做系統vim

sudo systemctl status mysql.service

4.啓動MariaDB數據庫服務多線程

sudo systemctl start mysql.service

3.設置mysql隨系統服務啓動less

sudo update-rc.d  mysql defaults

4.撤銷隨系統服務啓動ide

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.建立普通數據庫用戶 (登陸普通數據庫用戶則不須要得到操做系統管理員權限

create user 'henry'@'%' identified by '1';

8.登陸遠地數據庫(須要henry@'%')

mysql -h localhost -u henry -p1

9.修改MariaDB配置文件,監聽外網訪問

9.1 編輯mariadb配置文件

sudo vim /etc/mysql/mariadb.conf.d/50-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 15.1 Distrib 10.0.29-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2

3、卸載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時會詢問是否刪除數據庫
相關文章
相關標籤/搜索