centos7 mariaDB

http://hongge.blog.51cto.com/

mariaDB

MariaDB 是MySQL的一个分支,从MySQL被甲骨文收购之后开发的一个替代品,目前全部兼容MySQL。

MariaDB 是一个采用 Maria 存储引擎的 MySQL 分支版本,是由原来 MySQL 的作者 Michael Widenius 创办的公司所开发的免费开源的数据库服务器。

由于满MySQL被Oracle收购后的日渐封闭与缓慢的更新,众多Linux发行版逐渐抛弃了这MySQL数据库,而转向了MariaDB

CentOS 7/RHEL7中,默认已经不再提供mysql的安装源,取而代之的是mysql的原开发者另起炉灶开发的mariadb数据库,不仅完全兼容mysql而且比mysql更加强大。

首先安装mariadb

#yum –y install mariadb mariadb-server

拷贝配置文件(注意:如果/etc目录下面默认有一个my.cnf,直接覆盖即可)

cp /usr/share/mysql/my-huge.cnf /etc/my.cnf

启动mariadb服务并开机自动运行

Mariadb数据库仍然默认使用tcp 3306端口。

打开防火墙服务

安装完后,开始设置Mariadb数据库

#/usr/bin/mysql_secure_installation

输入上述命令后,按照提示操作

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密码,直接回车

OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB

root user without the proper authorisation.

Set root password? [Y/n] Y

New password: 输入root的新密码

Re-enter new password: 新密码确认

Password updated successfully!

Reloading privilege tables..

... Success!

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

... 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] 关闭root远程登录 Y

... 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] 删除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

... 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!

或执行mysqladmin为MariaDB数据库账户root设置密码

Mariadb安装完毕后,管理员用户是root密码默认为空,可以执行mysqladmin设置账户密码

如何重设管理员账户root的密码

情况1:在已知mariadb数据库的ROOT用户密码的情况下,修改密码的方法:

1、 在SHELL环境下,使用mysqladmin命令设置:mysqladmin –u root –p password “新密码”回车后要求输入旧密码

2、 在MariaDB[(none)]>环境中,使用update命令,直接更新mysql库user表的数据,不过改完之后需要刷新:

update mysql.user set password=password(‘新密码’) where user=’root’;

flush privileges;

注意:mariadb的sql语句要以分号”;”结束

3、 在MariaDB[(none)]>环境中,使用grant命令,修改root用户的授权权限。

grant all on *.* to [email protected]’localhost’ identified by ‘新密码’;

4、 在MariaDB里面,可以使用 set password重置

情况2:如查忘记了MariaDB数据库的ROOT用户的密码,又如何做呢?方法如下:

1、 关闭当前运行的mariadb服务程序:

2、 使用mysqld_safe脚本以安全模式(不加载授权表)启动mariadb服务

/usr /bin/mysqld_safe --skip-grant-table &

3、 使用空密码的root用户登录数据库,重新设置ROOT用户的密码

#mysql -u root

MariaDB[(none)]>Update mysql.user set password=password(‘新密码’) where user=’root’;

MariaDB[(none)]> flush privileges;

到此Mariadb安装并设置完毕,接下来可以测试一下:执行mysql命令连接mariadb数据库

如何更改mariadb默认的数据文件存储目录

mariadb默认的数据文档存储目录为/var/lib/mysql

要想将默认创建目录改成/data,需要一下操作:

1、创建/data目录

#mkdir /data

2、把mariadb服务停掉:
#systemctl stop mariadb.service
3、把/var/lib/mysql整个目录复制到/data
#cp -r /var/lib/mysql/* /data/
这样就把MySQL的数据文档复制到了/data下
4、编辑mariadb的配置文档/etc/my.cnf

在[client]下添加:

把原来的socket=/var/lib/mysql/mysql.sock,前边加#注释掉,添加socket=/data/mysql.sock(以防有问题再改回来)。

在[mysqld]下添加:

把原来的socket=/var/lib/mysql/mysql.sock,前边加#注释掉,添加socket=/data/mysql.sock(以防有问题再改回来)。
datadir =/data/   (这行没有,需要自己加上)
保存后退出。
#chown -R mysql:mysql /data

5、重新启动mariadb服务
systemctl start mariadb.service。

注:在my.cnf文件中添加skip-networking=1表示数据库只能被 localhost 访问。

skip-networking 只允许通过一个套接字文件(Unix/Linux系统)或通过命名管道(Windows系统)进行本地连接,不允许ICP/IP连接; 这提高了安全性,但阻断了来自网络的外部连接和所有的Java客户程序(Java客户即使在本地连接里也使用TCP/IP)。

现在可以开始用mariadb了,先看看基本的命令操作

显示数据库

创建数据库

创建数据库用户并授予权限

如果要撤销权限可以使用revoke命令

注:所有的权限可以通过show priviledges\G 显示

还可以通过下面的方式创建用户并授予权限

查看当前登录用户。

查看一下mysql数据库里面的user表

进入数据库

创建一个表,指定主键和各字段的名字类型,并向表中插入数据。

更新数据

复制一张表

更改表的结构,增加一个字段

删除表

创建另外一张表,和第一张表绑定主键外键,级联删除

插入数据

做个简单的多表查询

从主表里面删除一行数据,确认级联删除有效

最后,看看数据库的备份和还原

Mariadb数据库的备份分为:冷备和热备

冷备份就是直接备份 /var/lib/mysql下面的数据库文件了(如cp、tar、dump、dd等)

热备可以通过 mysqldump实现,mysqldump 比较常用的,比较适合备份少量数据。可以实现远程备份表,数据库。

命令格式:

#mysqldump –u root –p [密码] [options] [数据库名] [表名] > /备份路径/备份文件名

备份整个数据库

查看一下这个生成的sql文件,本质是先删除现有表,然后创建一个新的,然后插入数据

备份数据库中指定的表

备份所有数据库

恢复数据库

模拟破坏数据

用备份还原数据

验证:

查看数据是否恢复,如下图所示:

有关mariadb的其他备份工具可以查询相关资料

http://hongge.blog.51cto.com/

时间: 2024-10-04 10:06:27

centos7 mariaDB的相关文章

centos7 mariadb 设置root密码

centos7 mariadb 设置root密码 修改root密码1.以root身份在终端登陆,必须2.输入 mysqladmin -u root -p password root后面的 root 是要设置的密码3.回车后出现 Enter password  输入就密码,如果没有,直接回车 创建用户//创建用户mysql> insert into mysql.user(Host,User,Password) values("localhost","admin"

Centos7+Mariadb集群-主从配置介绍

近期一直在恶补Linux相关的知识,主要是就是学Linux下的基本日常应用服务器的配置及优化,今天我们主要介绍一下在Centos7下安装及配置Mysql 集群,说到集群,其实就是为了提高服务的高可用性.对于高可用的相关服务今天不是主要介绍内容,今天主要介绍MYSQL的主从配置.对在Linux下的其他服务的介绍及服务高可用负载均衡我们将会在后期的文章中介绍.开始今天的介绍:Centos7+Mysql主从配置. 环境介绍: Hostname:A-S IP:192.168.5.21 Role:Mysq

Centos7+Mariadb+Keepalived实现Mariadb(MYSQL)的高可用(HA)

我们前面几篇文章中有介绍了Keepalived的功能--HA,关于MySQL-HA,目前有多种解决方案,比如heartbeat.drbd.mmm.共享存储,但是它们各有优缺点.heartbeat.drbd配置较为复杂,需要自己写脚本才能实现MySQL自动切换,对于不会脚本语言的人来说,这无疑是一种脑裂问题:对于mmm,生产环境中很少有人用,且mmm 管理端需要单独运行一台服务器上,要是想实现高可用,就得对mmm管理端做HA,这样无疑又增加了硬件开支:对于共享存储,个人觉得MySQL数据还是放在本

数据分析系统DIY2/3:本地64位WIN7+DEV C++编译程序操作VMware CentOS7+MariaDB

数据分析系统DIY中要完毕的三个任务. 一.用VMware装64位CentOS.数据库服务端用CentOS自带的就好. 二.数据採集与预处理用Dev-C++编程解决. 三.用本地Win7 64上的MATLAB R2012b连接数据库进行挖掘分析. 本文是完毕第二个任务的过程. 1.Terminal中输入命令行"ifconfig"确认CentOS虚拟机ip:192.168.124.128 2.输入命令行"netstat -anp|grep mysqld"确认maria

数据分析系统DIY1/3:CentOS7+MariaDB安装纪实

打算通过实践,系统学习一下数据分析. 初步计划要完成的三个任务. 一.用VMware装64位CentOS,数据库服务端用CentOS自带的就好. 二.数据采集与预处理用Dev-C++编程解决. 三.用本地Win7 64上的MATLAB R2012b连接数据库进行挖掘分析. 本文就是完成第一个任务的过程. 1.先上centos 官网下载centos7的DVD iso种子,然后把种子上传到百度云离线下载,再拖回本地.4M/s,很快搞定. 2.往VMware里装的时候遇到了问题.安装自检过程中报错"k

Linux7/Centos7 Mariadb主从配置过程

环境:RedHat7 同样适用于Centos7(本文是在无网络环境部署mariadb主从) 卸载Mysql (防止mysql和mariadb冲突 ) 停止服务:systemctl stop mysqld 查询安装包:rpm -qa | grep mysql 卸载: rpm -e mysql-server rpm -e --nodeps mysql-libs 准备环境查看磁盘挂载情况:df –h < 如果没有则挂载系统盘:mount/dev/cdrom /media > PS: 在虚拟机设置里对

centos7 Mariadb安装

yum install mariadb-server mariadb -y 修改配置: [mysqld] default-storage-engine = innodb innodb_file_per_table character-set-server = utf8 collation-server = utf8_general_ci init-connect = 'SET NAMES utf8' ? systemctl start mariadb systemctl enable maria

数据分析系统DIY3/3:本地64位WIN7+matlab 2012b访问VMware CentOS7+MariaDB

数据分析系统DIY中要完成的三个任务. 一.用VMware装64位CentOS,数据库服务端用CentOS自带的就好. 二.数据采集与预处理用Dev-C++编程解决. 三.用本地Win7 64上的MATLAB R2012b连接数据库进行挖掘分析. 本文是完成第三个任务的过程. 1.首先下载jar格式的mariadb数据库jdbc驱动包,下载地址 2.将下载好的驱动程序拷到"matlab安装目录\java\jar" 3.编辑"matlab安装目录\toolbox\local\c

centos7 mariadb mysql max_connections=214 无法修改的问题

/etc/my.cnf.d/mariadb-server.cnf [mysqld] max_connections = 10000 重启mariadb后 max_connections = 214 .解决问题方法如下: vi /etc/systemd/system/mariadb.service.d/limits.conf [Service] LimitNOFILE=65535 LimitNPROC=65535 保存,退出. systemctl daemon-reload systemctl r