文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

在linux上安装并初始化配置MariaDB支持远程登录

2023-08-20 15:42

关注

一、环境准备

本文环境是Redhat7上自带的MariaDB, 在安装redhat系统时已经自动安装好了,如果需要自行安装的话,可以到MariaDB官方网站获取安装方式。

MariaDB官方网站点此进入

点击Download按钮进入下载页

20221224144857

根据自己的需要选择安装方式,这里以Repo安装为例, 大体步骤就是选择对应的版本,配置镜像源,最后使用yum安装即可:

20221224145311

二、启动MariaDB

安装完成后,使用root账号启动MariaDB

[root@192 ~]# systemctl start mariadb

尝试连接服务器,看是否启动成功, 然后exit退出

[root@192 ~]# mysql

20221224145646

三、初始化MariaDB

我们可以先看下mysql相关的命令, 它们位于/bin目录下

[root@192 ~]# ll /bin/ | grep mysql

20221224145810

我们使用mysql_secure_installation来完成初始化, 根据交互提示一步步操作即可

20221224145912

此时,切换回普通用户,尝试连接数据库,可以看到已经可以访问了。

[hubing@192 ~]$ mysql -hlocalhost -uroot -p -P3306

20221224150603

四、配置远程访问

严格来讲,出于安全考虑,root账号只能在服务器上使用,不允许通过网络进行远程登录。所以本节的内容并不是必须的。只是做一下示范,对于其他的非root用户,是允许远程访问的,那么便可以依葫芦画瓢进行配置。

在上面的初始化过程中,我们虽然没有禁止远程使用MariaDB的root账号访问数据库,但实际上此时我们远程访问确实是访问不了的。

20221224150925

尝试远程使用数据库root账号登录数据库服务器192.168.233.129失败, 提示:

ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.233.129:3306' (10060)

20221224151032

我们可以ping通数据库服务器,只是无法连接,说明还有某些安全策略禁止了我们的访问。

我们还切换到数据库服务器192.168.233.129上进行操作。

先登录上数据库:

[hubing@192 ~]$ mysql -hlocalhost -uroot -p -P3306

然后切换到mysql db

MariaDB [(none)]> use mysql;

查表获取当前的配置信息:

MariaDB [mysql]> select host, user from user;

20221224151757

可以看到这里并没有允许远程连接,需要授权root用户的所有权限并设置远程访问。

依次执行:

//任何远程主机都可以使用root账号访问数据库GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION;GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root密码';//刷新以便立即生效FLUSH PRIVILEGES;

20221224152624

20221224152904

如果防火墙没开放3306端口的话,还需要通过root用户将3306端口配置为防火墙例外。

[root@192 ~]# firewall-cmd --zone=public --add-port=3306/tcp --permanent[root@192 ~]# firewall-cmd --reload[root@192 ~]# firewall-cmd --list-ports

20221224153340

此时再次尝试远程登录数据库,已经可以成功进行登录了。
20221224154314

五、补充一些额外的MySql用户赋权限的语句

-- 说明-- {user} 替换为实际的用户名-- {passwd} 替换为实际的用户密码-- {otherUser} 替换为其他用户的用户名-- {otherPasswd} 替换为其他用户的密码GRANT ALL ON {user}.* TO '{user}'@'%' IDENTIFIED BY '{passwd}';GRANT ALL ON {user}.* TO '{user}'@'127.0.0.1' IDENTIFIED BY '{passwd}';GRANT ALL ON {user}.* TO '{user}'@'localhost' IDENTIFIED BY '{passwd}';GRANT SELECT ON mysql.* TO '{user}'@'%' IDENTIFIED BY '{passwd}';GRANT PROCESS,FILE,SUPER,REPLICATION CLIENT,REPLICATION SLAVE  ON *.* to '{user}'@'%' IDENTIFIED BY '{passwd}';GRANT PROCESS,FILE,SUPER,REPLICATION CLIENT,REPLICATION SLAVE  ON *.* to '{user}'@'127.0.0.1' IDENTIFIED BY '{passwd}';GRANT PROCESS,FILE,SUPER,REPLICATION CLIENT,REPLICATION SLAVE  ON *.* to '{user}'@'localhost' IDENTIFIED BY '{passwd}';-- 将本库的部分权限赋予其他用户,复制以下语句,对其他用户进行赋权,包括各个分库和查询库GRANT SELECT ON {user}.* to '{otherUser}'@'%' IDENTIFIED BY '{otherPasswd}';GRANT SELECT ON {user}.* to '{otherUser}'@'127.0.0.1' IDENTIFIED BY '{otherPasswd}';GRANT SELECT ON {user}.* to '{otherUser}'@'localhost' IDENTIFIED BY '{otherPasswd}';

来源地址:https://blog.csdn.net/hubing_hust/article/details/128429077

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-人工智能
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯