mariadb 的安装及基本配置

mariadb 的安装及基本配置文章目录一、mariadb介绍二、mariadb下载及安装三、mariadb的启停命令四、mariadb的配置五、添加用户,设置权限Navicat连接数据库一、mariadb介绍MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎

大家好,又见面了,我是你们的朋友全栈君。

一、mariadb介绍

MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。开发这个分支的原因之一是:甲骨文公司收购了
MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。
MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,使用XtraDB(英
语:XtraDB)来代替MySQL的InnoDB。 MariaDB由MySQL的创始人Michael Widenius(英语:Michael
Widenius)主导开发,他早前曾以10亿美元的价格,将自己创建的公司MySQL
卖给了SUN,此后,随着SUN被甲骨文收购,MySQL的所有权也落入Oracle的手中。MariaDB名称来自Michael
Widenius的女儿Maria的名字. 为何改了个名字呢,这其中是有些典故的。
MySQL之父Widenius先生离开了Sun之后,觉得依靠Sun/Oracle来发展MySQL,实在很不靠谱,于是决定另开分支,这个分支的名字叫做MariaDB。
MariaDB跟MySQL在绝大多数方面是兼容的,对于开发者来说,几乎感觉不到任何不同。目前MariaDB是发展最快的MySQL分支版本,新版本发布速度已经超过了Oracle官方的MySQL版本。
在Oracle控制下的MySQL开发,有两个主要问题:1.
MySQL核心开发团队是封闭的,完全没有Oracle之外的成员参加。很多高手即使有心做贡献,也没办法做到。2.
MySQL新版本的发布速度,在Oracle收购Sun之后大为减缓。Widenius有一个ppt,用数据比较了收购之前和之后新版本的发布速度。有很
多bugfix和新的feature,都没有及时加入到发布版本之中。
以上这两个问题,导致了各个大公司,都开发了自己定制的MySQL版本,包括Yahoo!/Facebook/Google/阿里巴巴+淘宝网等等。
MySQL是开源社区的资产,任何个人/组织都无权据为己有。为了依靠广大MySQL社区的力量来更快速的发展MySQL,另外开分支是必须的。
MariaDB默认的存储引擎是Maria,不是MyISAM。Maria可以支持事务,但是默认情况下没有打开事 务支持,因为事务支持对性能会有影响。可以通过以下语句,转换为支持事务的Maria引擎。

ALTER TABLE tablename ENGINE=MARIA TRANSACTIONAL=1;

二、mariadb下载及安装

mariadb 的官网下载链接 https://mariadb.org/download/

我这是在阿里云服务器上安装mariadb

  1. 先用putty连接云服务器

  2. 使用命令行安装

    sudo apt-get install mariadb-server-10.3
    

可能会出现error,
只需要执行 sudo apt-get update更新软件列表,然后在执行上面的安装命令即可。

三、mariadb的启停命令

  • 启动服务

systemctl start mariadbservice mariadb start

  • 停止服务

systemctl stop mariadbservice mariadb stop

  • 重启服务

systemctl restart mariadbservice mariadb restart

  • 添加到开机启动

systemctl enable mariadbchkconfig mariadb on

  • 设置密码
mysqladmin -u root password 'xxxxxx'
  • 安全设置,以及修改数据库管理员密码
mysql_secure_installation

四、mariadb的配置

  1. 设置任意主机都可以访问MySQL(默认只有本机可以访问,为方便团队而合作设置)
mysql -uroot -p
mysql> use mysql
mysql> update user set host = '%' where user ='root'

重启MySQL服务

sudo service mysql restart

查看服务
sudo service mysql status

  1. 安装完后 mariadb,接下来就要设置账号密码了。

确定服务为开启状态,使用 mysqladmin -u root password 'xxxxxxx'mysql_secure_installation
以输入mysql_secure_installation 为例:

  • 第一次要求输入密码,直接回车

Enter current password for root (enter for none)

  • 第二次才是设置 root 密码

Set root password? [Y/n] New Password Re-enter new password

  • 是否删除匿名用户。Y或回车

Remove anonymous users? [Y/n]

  • 是否禁止 root 远程登录。 因此我选 n

Disallow root login remotely? [Y/n]

  • 是否删除数据库。Y或回车

Remove test databse and access to it? [Y/n]

  • 重新加载权限表。Y或回车

Reload privilege tables now? [Y/n]

  1. 启动 mariadb
    mysql -uroot -p<password>
    在这里插入图片描述

最后键入 exit(带不带分号均可),即可正常退出。

  1. 配置文件
    vi /etc/mysql/my.cnf
    添加内容
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
bind-address=0.0.0.0

五、添加用户,设置权限

  1. 查看当前主机、用户、密码的哈希值
show database;
use mysql;
select host,user,password from user;
  1. 授权
grant <权限名数组 或 all privileges> on <数据库名>.<表名> to <用户名>@<允许的IP> identified by "<密码>";
flush privileges;

flush privileges命令用来刷新权限,否则修改可能不生效。
show grants for '<用户名>' 可以查看授权时执行的命令

  1. 允许用户登录的IP
host 含义
localhost 只允许该用户在本地登录,不能远程登录
% 允许在除本机之外的任何一台机器远程登录
192.168.1.1 具体IP表示仅允许用户从该特定的IP登录
  1. 创建用户
    创建用户 create <用户名> identified by '<password>'
    查询之前创建的用户 select user,host,password from mysql.user where user="<用户名>"

  2. 修改密码

update mysql.user set password = password('<密码>') where user = '用户名' and host = ‘%;
flush privileges;

  1. 删除用户
    drop user <用户名>@'%';

该命令会删除用户以及对应的权限。执行完后,你会发现 mysql.user 表中的用户,以及 mysql.db 表中的权限记录都消失了。

  1. 备份
    从 mariadb 的命令行,退出到 centos 命令行。

执行 mysqldump -u root -p --all-databases > /tmp/db.dump将数据库备份到 /tmp.dump 中。

  1. 恢复
    执行source /tmp/db.dump 即可恢复数据库
    如果不在 mariadb 命令行中,也可以直接使用 mysql -uroot -p < /tmp/db.dump 命令进行恢复(从外部恢复,不会有任何回显)

六、Navicat连接数据库

在这里插入图片描述
测试连接连接不成功检查以下:

  1. 防火墙是否关闭
    systemctl start firewalld ##启动Firewall
    systemctl stop firewalld ##关闭Firewall
    systemctl restart firewalld##重启Firewall
    firewall-cmd --state ##查看防火墙状态,是否是running
    防火墙相关命令https://www.cnblogs.com/yuanzipeng/p/10813494.html
  2. 配置文件my.cnf中是否添加bind-address=0.0.0.0
  3. root 的host是否为对应权限例如%允许在除本机之外的任何一台机器远程登录
  4. 如果是阿里云服务器,在控制台检查对应端口3306是否开放
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/145890.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • SSRF漏洞学习

    SSRF漏洞学习SSRF漏洞原理SSRF(Server-SideRequestForgery:服务器端请求伪造)是一个由攻击者构造请求,在目标服务端执行的一个安全漏洞。攻击者可以利用该漏洞使服务器端向攻击者构造的任意域发出请求,目标通常是从外网无法访问的内部系统。简而言之就是以服务器的身份来执行请求。常见利用方式伪协议读取文件伪协议读取文件,在SSRF中常用的伪协议就是file:///协议/?url=file:///var/www/html/flag.php内网访问我们从目标主机内

  • visio 2013下载安装「建议收藏」

    visio 2013下载安装「建议收藏」Visio2013ed2k://|file|cn_visio_professional_2013_with_sp1_x86_and_x64_dvd_3911008.iso|1099735040|EB4F690733452B45D38C0EFE9D53E7FA|/密钥VisioProfessional2013:2NYF6-QG2CY-9F8XC-GWMBW-29VV8

  • Python语言培训_python文件是怎么打开

    Python语言培训_python文件是怎么打开述(最多18字以下试题内容来源由-众课帮-公众号和小程序提供可查询更多的试题答案新鲜尿液有氨臭味变异性心绞痛患者首选药物是A_______ofdependenceonGMOseedsandchemicalfertilizers,pesticides(杀虫剂),andherbicides(除草剂)isthencreatedinordertogrowasinglecrop.如果要对事物发展变化的未来趋势做出描述,例如对五年后技术变革方向进行预测,通常采..

  • 深入浅出PID控制算法(一)————连续控制系统的PID算法及MATLAB仿真[通俗易懂]

    深入浅出PID控制算法(一)————连续控制系统的PID算法及MATLAB仿真[通俗易懂]引言PID是Proportional(比例)、Integral(积分)、Differential(微分)三者的缩写。PID调节是连续控制系统中技术最成熟、应用最广泛的调节方式。PID调节实质是根据输入的偏差值,按照比例、积分、微分的函数关系进行运算,运算结果用以控制输出。之前在项目中也用到过不少PID的算法,但大多属于一知半解的状态,或者胡乱调节的程度,最近在学习的过程偶然对PI…

  • linux的crontab用法_crontab详解

    linux的crontab用法_crontab详解crontab是用来让使用者在固定时间或固定间隔执行程序之用,类似于windows的计划任务安装: yum-yinstallvixie-cron yum-yinstallcrontabs启动、关闭、重启:/sbin/servicecrondstart#启动服务/sbin/servicecrondstop#关闭服务/sbin/servicecrond…

  • DataGrip 2021激活码(注册激活)

    (DataGrip 2021激活码)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.cn/100143.htmlMLZPB5EL5Q-eyJsaWNlbnNlSWQi…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号