博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MariaDB10.5.6的安装与使用,多一手准备总是好的
阅读量:4228 次
发布时间:2019-05-26

本文共 5327 字,大约阅读时间需要 17 分钟。

只要你找个好老板,找一份好工作,好好工作。

早起晚归,经常加班,辛勤工作。
早晚有一天,这个老板,会更有钱。换更好的车,换更好的房。

开心一刻,每天元气满满

前言

多一手准备总是好的,被Oracle收购后的MySQL将会发生什么样的变化,我们是无法预料的。之前也一直下载的是MySQL社区版的,现在逐渐转到使用MariaDB。多一手准备,以后也不愁。

老夫今天想到用虚拟机搭建集群,实现MySQL的主从复制,又将文章小小的雕琢一下,加了很多安装过程中遇到的问题并加以解决。

正文

01、简介

MariaDB是MySQL关系数据库管理系统的一个复刻,由社区开发,有商业支持,旨在继续保持在GNU GPL下开源。MariaDB的开发是由MySQL的一些原始开发者领导的,他们担心甲骨文公司收购MySQL后会有一些隐患。

MariaDB打算保持与MySQL的高度兼容性,确保具有库二进制奇偶校验的直接替换功能,以及与MySQL API和命令的精确匹配。MariaDB自带了一个新的存储引擎Aria,它可以替代MyISAM,成为默认的事务和非事务引擎。它最初使用XtraDB作为默认存储引擎,并从10.2版本切换回InnoDB。

它的首席开发人员是米卡埃尔·维德纽斯,他是MySQL AB的创始人之一,也是Monty Program AB的创始人。2008年1月16日,MySQL AB 宣布它已经同意被Sun微系统集团以大约10亿美元的价格收购。该项收购已于2008年2月26日完成。MariaDB是以Monty的小女儿Maria命名的,就像MySQL是以他另一个女儿My命名的一样。

02、版本

MariaDB直到5.5版本,均依照MySQL的版本。因此,使用MariaDB5.5的人会从MySQL 5.5中了解到MariaDB的所有功能。

从2012年11月12日起发布的10.0.0版开始,不再依照MySQL的版号。10.0.x版以5.5版为基础,加上移植自MySQL 5.6版的功能和自行开发的新功能。

03、缘起

MariaDB的API和协议兼容MySQL,另外又添加了一些功能,以支持本地的非阻塞操作和进度报告。这意味着,所有使用MySQL的连接器、程序库和应用程序也将可以在MariaDB下工作。在此基础上,由于担心甲骨文MySQL的一个更加封闭的软件项目,Fedora等Linux发行版已经在最新版本中以MariaDB取代MySQL,维基媒体基金会的服务器同样也使用MariaDB取代了MySQL。

作为尝鲜或者学习,在win环境下安装比较方便。当然,你也可以安装虚拟机(部署linux环境)。

下载MariaDB选择合适的版本以及环境(win或者linux)

全部版本选择

在这里插入图片描述

一、linux篇之Centos7

linux环境(centos7)使用yum命令安装MariaDB,或者在官网下载源码包。

yum install mariadb-server mariadb

MariaDB数据库的相关操作命令:

(注意:centos6版本使用service命令替换systemctl)

启动MariaDB

systemctl start mariadb

停止MariaDB

systemctl stop mariadb

重启MariaDB

systemctl restart mariadb

设置开机启动

systemctl enable mariadb


Windows下初始化数据库,这里是以前MySQL的安装过程

本来想套用在MariaDB安装上的,偷个懒,可惜部分操作命令并不适用。

这样初始化,密码是随机的

mysqld --initialize --console

密码会输出在控制台,找到相应的日志文件查看,linux下同理找mysql.log文件

A temporary password is generated for root@localhost: 6hk20yueza=M

你也可以在mysql的data中找到以.err结尾的文件扎到随机生成的密码,后续修改密码。

#修改密码的命令ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码'

01、运行初始化命令,设置密码为空

mysqld --initialize-insecure

推荐这样设置,后续自行修改root用户密码

如果没有执行init操作则不存在data目录,自然无法启动成功。

02、执行安装命令

mysqld install

linux下安装MySQL,采用yum方式安装

采用yum方式,centos7下安装MySQL

1、通过wget命令获取rpm包

wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm

2、添加到yum源,显示安装信息以及进度

rpm -ivh mysql-community-release-el7-5.noarch.rpm

3、更新yum源

yum update

4、安装MySQL服务

yum install mysql-server

5、赋予mysql文件权限

chown mysql:mysql -R /var/lib/mysql

6、mysqld初始化,这里可能会遇到下面日志出现的问题。

mysqld --initialize

在my.cnf配置文件加入如下配置,参考错误日志提示

explicit_defaults_for_timestamp=true;user=mysql

错误日志,这个版本的MySQL的TIMESTAMP默认转换为deprecated了。


TIMESTAMP with implicit DEFAULT value is deprecated. Please use

–explicit_defaults_for_timestamp server option (see documentation for more details). 2021-04-09 17:33:00 0 [Note] mysqld (mysqld 5.6.51)
starting as process 28288 … 2021-04-09 17:33:00 28288 [ERROR] Fatal
error: Please read “Security” section of the manual to find out how to
run mysqld as root!

2021-04-09 17:33:00 28288 [ERROR] Aborting

2021-04-09 17:33:00 28288 [Note] Binlog end 2021-04-09 17:33:00 28288

[Note] mysqld: Shutdown complete


7、查询mysql是否安装

mysqladmin --version

8、启动MySQL服务

systemctl start mysqld

9、查询MySQL服务状态

systemctl status mysqld

10、登录MySQL

a、首次连接是空密码,回车登录

mysql -u root -p

b、可自行修改密码

mysqladmin -u root password "设置密码"

c、查询数据库

SHOW DATABASES

rpm包,yum方式安装方便快捷,便于初学者学习。

也可以使用源码包安装,繁琐一点,二者选其一即可。

安装通过测试,参考菜鸟教程编写。



二、MariaDBmariadb-10.5.6-winx64.zip解压版安装过程

01、解压MariaDB

#对应你的解压目录D:\work\MariaDB\mariadb-10.5.6-winx64

值得注意的是,新版本MariaDB安装初始化后,会自动生成一个my.ini文件,在data文件夹下,比以前安装更为方便快捷。

在这里插入图片描述

02、设置配置文件my.ini(win环境),my.cnf(linux环境)

[client]#设置MariaDB客户端默认字符集default-character-set=utf8[MariaDB]#设置端口3306port = 3306#设置MariaDB的安装目录basedir=D:\\work\\MariaDB\\mariadb-10.5.6-winx64#设置MariaDB数据库的数据存放目录#datadir=D:\\work\MariaDB\\mariadb-10.5.6-winx64\\data#允许最大连接数max_connections=20#服务端使用的字符集默认为utf8字符集character-set-server=utf8#创建新表时设置默认存储引擎INNODB或者XtraDB(10.2版本之前首选引擎)default-storage-engin=INNODB

03、运行安装命令

mysqld.exe --install MariaDB

在这里插入图片描述

如果你重装系统了,只格式化了C盘。重装系统之后,只需要重新执行mysqld.exe --install MariaDB命令即可(前提是解压版的)。

04、初始化数据库,在运行之前新建data目录

mysql_install_db.exe

在这里插入图片描述

05、一些客务端MariaDB的操作命令(win环境)

启动服务

net start MariaDB

在这里插入图片描述

关闭服务

net stop MariaDB

删除服务

sc delete MariaDB

登入root用户,会提示输入密码

mysql -u root -p

正确安装的情况下,响应如下

Enter password:

设置密码为空,直接回车键登入。

退出服务

使用quit或者exit命令

06、设置MySQL或者MariaDB服务为自启

01、win + r 快捷键打开运行services.msc命令找到对应的服务

02、也可以右键点击我的电脑,选择管理。进入后选择服务和应用程序,展开选中服务找到对应的服务

03、找到MariaDB服务。

在这里插入图片描述
04、设置自启。

在这里插入图片描述

三、可视化工具连接

有很多错误码,遇到了可以自行总结一下,以后遇到了也能参考,知道具体是什么原因。善于总结,也是对经验知识的积累。

错误码提示连接使用的密码有问题

在这里插入图片描述

看到这个错误码提示是没关闭防火墙,需要放通相应的端口

在这里插入图片描述

还有一个1130错误提示码是MySQL没对外开放可连接的IP,这里就不截图了。下面有写到如何解决以上3个错误码。

01、配置连接,我这里测试初始化设置密码为空,所以无需填写密码。

在这里插入图片描述

02、测试连接,点击测试连接按钮

在这里插入图片描述

03、登录,点击连接按钮进入主界面,test数据库是我自己新建的。

在这里插入图片描述

01、linux服务器下连接MySQL或者MariaDB需注意

最后使用远程连接工具客户端SQLylog或者Navicat,个人习惯用SQLylog了。

这里需要开放端口3306(默认),你可以改一下端口安全一点,虚拟机测试影响不大。

推荐使用iptables,Centos7默认没安装的。推荐使用yum安装,然后配置所需要放通的端口号。

暴力一点,测试直接关掉,开发环境服务器别这样操作做。

开启防火墙

systemctl start firewalld.service

在这里插入图片描述

关闭防火墙,临时性的

systemctl stop firewalld.service

在这里插入图片描述

查看防火墙状态

systemctl status firewalld.service

开放ip权限,可以设置独立ip,也可以设置放通所有,测试就选择%放通所有。

GRANT ALL PRIVILEGES ON *.* TO '你的数据库用户名'@'单个ip或者%表示所有' IDENTIFIED BY '你的数据库连接密码' WITH GRANT OPTION;

注意:改成自己的ip,以及数据库登录用户名和密码,照着抄也要思考一下啊!

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

刷新权限,立即生效

flush privileges;

推荐使用Navicat和SQLyog可视化工具。

链接: 提取码: ntu7

小声哔哔

只要你找个好老板,找一份好工作,好好工作。

早起晚归,经常加班,辛勤工作。
早晚有一天,这个老板,会更有钱。换更好的车,换更好的房。

好吧,上面的引用都是玩笑话。用心创作,学无止境。你会发现,了解的越多,不了解的越多。好了,到此为止就是此篇文章的全部内容了,能看到这里的都是帅哥靓妹啊!!!善于总结,其乐不穷。好记性不如烂笔头,多收集自己第一次尝试的成果,收获也颇丰。你会发现,自己的知识宝库越来越丰富。点关注,不迷路。

转载地址:http://gzcqi.baihongyu.com/

你可能感兴趣的文章
Apache Ozone 分布式对象存储系统相关文档汇总
查看>>
Ozone 与 HDDS 的区别与联系
查看>>
maven失败测试用例rerun插件使用方法
查看>>
Python基础(三)
查看>>
Python入门NLP(二)
查看>>
四行Python代码,你也能从图片上识别文字!
查看>>
内网映射外网工具-ngrok
查看>>
Python带你朗读网页
查看>>
关于python,这些知识点你学会了吗?
查看>>
利用selenium爬取《西虹市首富影评》
查看>>
Python验证码识别
查看>>
机器学习、NLP和Python教程分享
查看>>
AWS Serverless培训分享
查看>>
python生成二维码
查看>>
在ubuntu上搭建文件服务器
查看>>
ServiceFabric: 在Windows上创建容器应用并部署到ServiceFabric中
查看>>
paramiko——一个专门为Linux设计的模块
查看>>
一个有趣的python项目---一个好玩的网站
查看>>
git常用命令总结
查看>>
Protobuf了解一下?
查看>>