linux系统中怎样使用命令行 *** 作mariadb创建数据库

linux系统中怎样使用命令行 *** 作mariadb创建数据库,第1张

使用create命令建立mysql数据库: 新建数据库例: 1.以mysql最高管理员登录,在mysql>create database XXXXXxxxxx即为数据库名. 2.在mysql中如何创建用户,使该用户对该数据库有完全权限. 3.可 以 用 GRANT 命 令

这是一个创建数据库重复版本的过程。复制过程不仅仅是复制一个数据库,同时也包括从主节点到一个从节点的更改同步。但这并不意味着从数据库就是和主数据库完全相同的副本,因为复制可以配置为只复制表结构、行或者列,这叫做局部复制。复制保证了特定的配置对象在不同的数据库之间保持一致。

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.serviceenabled)

设置 MariaDB 密码

mysql -u rootmysql>use mysqlmysql>update user set password=PASSWORD("SOME_ROOT_PASSWORD") where User='root'mysql>flush privilegesmysql>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_replCREATE 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 |+----------+-----------+------------+----------+-------+


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7499058.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-06
下一篇2023-04-06

发表评论

登录后才能评论

评论列表(0条)

    保存