用户登录
用户注册

分享至

linux mariadb安装

  • 作者: 小白----------------
  • 来源: 51数据库
  • 2020-09-27
一 安装
1.需要下载 perl-DBI-1.521-1.EL5.rfx.x86_64.rpm 安装包,
mariaDB MariaDB-5.5.29-rhel5-x86_64-common.rpm
MariaDB-5.5.29-rhel5-x86_64-server.rpm
MariaDB-5.5.29-rhel5-x86_64-client.rpm
2.然后再http://yum.mariadb.org/ 找到 RPM-GPG-KEY-MariaDB 这个PGP文件,
把文件放入到/etc/pki/rpm-gpg 目录下,执行 导入key 的命令 rpm --import /etc/pki/rpm-gpg/RPM*
3.安装perl-DBI-1.521-1.EL5.rfx.x86_64.rpm 包, rpm -ivh perl-DBI-1.521-1.EL5.rfx.x86_64.rpm
4.安装MariaDB 包 ,rpm -ivh MariaDB-*,安装完成

二,使用
1.启动mysql:
[root@localhost mysql]# service mysql start
Starting MySQL....... [ OK ]
2.进入mysql # mysql -u root -p
[root@localhost rpms]# mysql
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
+--------------------+
4 rows in set (5.75 sec)



  这是一个创建数据库重复版本的过程。复制过程不仅仅是复制一个数据库,同时也包括从主节点到一个从节点的更改同步。但这并不意味着从数据库就是和主数据库完全相同的副本,因为复制可以配置为只复制表结构、行或者列,这叫做局部复制。复制保证了特定的配置对象在不同的数据库之间保持一致。
mariadb 复制概念
备份 :复制可以用来进行数据库备份。例如,当你做了主->从复制。如果主节点数据丢失(比如硬盘损坏),你可以从从节点中恢复你的数据库。
扩展 :你可以使用主->从复制作为扩展解决方案。例如,如果你有一些大的数据库以及sql查询,使用复制你可以将这些查询分离到每个复制节点。写入操作的sql应该只在主节点进行,而只读查询可以在从节点上进行。
分发解决方案 :你可以用复制来进行分发。例如,你可以将不同的销售数据分发到不同的数据库。
故障解决方案 : 假如你建立有主节点->从节点1->从节点2->从节点3的复制结构。你可以为主节点写脚本监控,如果主节点出故障了,脚本可以快速的将从节点1切换为新的主节点,这样复制结构变成了主节点->从节点1->从节点2,你的应用可以继续工作而不会停机。

复制的简单图解示范

mysql 复制原理
开始之前,你应该知道什么是二进制日志文件以及 ibdata1。
二进制日志文件中包括关于数据库,数据和结构的所有更改的记录,以及每条语句的执行了多长时间。二进制日志文件包括一系列日志文件和一个索引文件。这意味着主要的sql语句,例如create, alter, insert, update 和 delete 会放到这个日志文件中;而例如select这样的语句就不会被记录,它们可以被记录到普通的query.log文件中。
而 ibdata1 简单的说据是一个包括所有表和所有数据库信息的文件。
主服务器配置
首先升级服务器
sudo yum install update -y && sudo yum install upgrade -y

我们工作在centos7 服务器上
sudo cat /etc/redhat-releasecentos linux release 7.0.1406 (core)

安装 mariadb
sudo yum install mariadb-server -y

启动 mariadb 并启用随服务器启动
sudo systemctl start mariadb.servicesudo systemctl enable mariadb.service

输出如下:
ln -s '/usr/lib/systemd/system/mariadb.service' '/etc/systemd/system/multi-user.target.wants/mariadb.service'

检查 mariadb 状态
sudo service mariadb status

或者使用
sudo systemctl is-active mariadb.service

输出如下:
redirecting to /bin/systemctl status mariadb.servicemariadb.service - mariadb database serverloaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled)

设置 mariadb 密码
mysql -u rootmysql> use mysql;mysql> update user set password=password("some_root_password") where user='root';mysql> flush privileges;mysql> exit

这里 some_root_password 是你的 root 密码。 例如我用"q"作为密码,然后尝试登录:
sudo mysql -u root -psome_root_password

输出如下:
welcome to the mariadb monitor. commands end with ; or \g.your mariadb connection id is 5server version: 5.5.41-mariadb mariadb servercopyright (c) 2000, 2014, oracle, mariadb corporation ab and others.

输入 'help;' 或 '\h' 查看帮助信息。 输入 '\c' 清空当前输入语句。
让我们创建包括一些数据的表的数据库
创建数据库/模式
sudo mysql -u root -psome_root_passwordmysql> create database test_repl;

其中:
test_repl - 将要被复制的模式的名字

输出:如下
query ok, 1 row affected (0.00 sec)

创建 persons 表
mysql> use test_repl;create table persons (personid int,lastname varchar(255),firstname varchar(255),address varchar(255),city varchar(255));

输出如下:
mysql> mariadb [test_repl]> create table persons (-> personid int,-> lastname varchar(255),-> firstname varchar(255),-> address varchar(255),-> city varchar(255)-> );query ok, 0 rows affected (0.01 sec)

插入一些数据
mysql> insert into persons values (1, "lastname1", "firstname1", "address1", "city1");mysql> insert into persons values (2, "lastname2", "firstname2", "address2", "city2");mysql> insert into persons values (3, "lastname3", "firstname3", "address3", "city3");mysql> insert into persons values (4, "lastname4", "firstname4", "address4", "city4");mysql> insert into persons values (5, "lastname5", "firstname5", "address5", "city5");

输出如下:
query ok, 5 row affected (0.00 sec)

检查数据
mysql> select * from persons;

输出如下:
+----------+-----------+------------+----------+-------+| personid | lastname | firstname | address | city |+----------+-----------+------------+----------+-------+| 1 | lastname1 | firstname1 | address1 | city1 || 1 | lastname1 | firstname1 | address1 | city1 || 2 | lastname2 | firstname2 | address2 | city2 || 3 | lastname3 | firstname3 | address3 | city3 || 4 | lastname4 | firstname4 | address4 | city4 || 5 | lastname5 | firstname5 | address5 | city5 |+----------+-----------+------------+----------+-------+



  1、下载MariaDB(mariadb-5.5.31.tar.gz)
[root@zabbix_server?opt]#?wget?http://www.cmake.org/files/v2.8/cmake-2.8.5.tar.gz2、安装MariaDB
[root@zabbix_server?opt]#?tar?xzvf?mariadb-5.5.31.tar.gz
[root@zabbix_server?cmake-2.8.5]#?cd?cmake-2.8.5
[root@zabbix_server?cmake-2.8.5]#?./bootstrap
[root@zabbix_server?cmake-2.8.5]#?make
[root@zabbix_server?cmake-2.8.5]#?make?install

3、安装MariaDB所需软件包
yum?install?libaio-devel?-y
cmake?.?-DCMAKE_INSTALL_PREFIX=/usr/local/mariamysql?
-DWITH_INNOBASE_STORAGE_ENGINE=1?-DWITH_FEDERATED_STORAGE_ENGINE=1?
-DENABLED_LOCAL_INFILE=1?-DEXTRA_CHARSETS=all?-DDEFAULT_charset=utf-8?
-DDEFAULT_COLLATION=utf8_general_ci?-DWITH_DEBUG=0?
-DBUILD_CONFIG=mysql_release?-DFEATURE_SET=community?
-DWITH_EMBEDDED_SERVER=OFF
cp?support-files/my-innodb-heavy-4G.cnf?/etc/my.cnf
/usr/local/mariamysql/scripts/mysql_install_db?
--basedir=/usr/local/mariamysql/?--datadir=/usr/local/mariamysql/data/?
--user=mysql
/usr/local/mariamysql/bin/mysqld_safe?--user=mysql?&

4、查看mariadb是否安装成功

[root@zabbix_server?mariadb-5.5.31]#?ps?-ef?|?grep?mysql
root??????9010?17846??0?16:08?pts/0????00:00:00?/bin/sh?/usr/local/mariamysql/bin/mysqld_safe?--user=mysql
mysql?????9459??9010??0?16:08?pts/0????00:00:01?/usr/local/mariamysql/bin/mysqld?--basedir=/usr/local/mariamysql?--datadir=/data/database?--plugin-dir=/usr/local/mariamysql/lib/plugin?--user=mysql?--log-error=/data/database/zabbix_server.err?--open-files-limit=40960?--pid-file=zabbix_server.pid?--socket=/data/database/mysql.sock?--port=3306
root?????10391?17846??0?16:16?pts/0????00:00:00?grep?mysql

[root@zabbix_server?mariadb-5.5.31]#?mysql
Welcome?to?the?MySQL?monitor.?Commands?end?with?;?or?\g.
Your?MySQL?connection?id?is?41
Server?version:?5.5.31-MariaDB-log?MariaDB?Server

Copyright?(c)?2000,?2010,?Oracle?and/or?its?affiliates.?All?rights?reserved.
This?software?comes?with?ABSOLUTELY?NO?WARRANTY.?This?is?free?software,
and?you?are?welcome?to?modify?and?redistribute?it?under?the?GPL?v2?license

Type?'help;'?or?'\h'?for?help.?Type?'\c'?to?clear?the?current?input?statement.
root@zabbix?((none))?>?show?databases;
+--------------------+
|?Database?|
+--------------------+
|?information_schema?|
|?mysql?|
|?zabbix?|
+--------------------+
3?rows?in?set?(0.00?sec)
root@zabbix?((none))?>
软件
前端设计
程序设计
Java相关