zoukankan      html  css  js  c++  java
  • 在Linux中安装MariaDB并添加远程访问

    在Linux中安装MariaDB并添加远程访问

    最近学习到了数据库部分,因为有一台台式机一台笔记本换着用,就没有把数据库安装在本机,本来打算用之前买的虚拟空间的数据库的,结果速度太慢用起来太难受了,就把闲置的香橙派(类似树莓派的卡片电脑,强烈不建议非刚需买这玩意儿,基本闲置吃灰)拿出来安个MariaDB远程访问,下面是安装的步骤

    注1:我的是Debian系系统,如果你是RedHat系,把apt换成dnf或者yum就好
    注2:所有命令均需要root权限

    安装MariaDB

    1、安装MariaDB

    apt install mariadb-server
    

    2、启动MariaDB

    systemctl start mariadb
    

    3、设置MariaDB开机自启

    systemctl enable mariadb
    

    4、执行初始化命令

    mysql_secure_installation
    

    初始化过程中会提示进行如下配置

    # 输入原来的root密码,这里没有密码,直接回车就可以了
    Enter current password for root (enter for none): 
    
    # 更改root密码?
    Change the root password?
    
    # 删除匿名用户?
    Remove anonymous users?
    
    # 禁用root远程登录?	注:我选了否,最后还是要自己配置
    Disallow root login remotely?
    
    # 是否删除test测试数据库?
    Remove test database and access to it?
    
    # 重新加载权限数据表
    Reload privilege tables now?
    

    配置完成后可以考虑重新启动一下MariaDB

    systemctl restart mariadb
    

    配置远程登录

    MariaDB安装好后是默认不能通过远程连接的,需要做以下修改

    1、修改地址绑定

    编辑/etc/mysql/mariadb.conf.d/50-server.cnf文件

    将其中的

    bind-address = 127.0.0.1
    

    更改为需要放行的地址,如更改为0.0.0.0则接受所有IP地址的连接请求

    bind-address = 0.0.0.0
    

    2、添加支持远程登录的用户

    我们可以先查询以下

    use mysql;
    select host,user from user;
    

    在我安装之后,只能看到一个本地root用户

    host user
    localhost root

    所以要添加一个远程登录的用户,因为是自己用,我就直接添加了一个授予所有权限的用户,如果是生产环境,慎重!!!

    -- 创建用户
    CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';
    --示例1,允许所有从任意地址登录的用户: create user 'ActionNet'@'%' identified by 'zxc123';
    --示例2,允许从192.168.199.100登录的用户: create user 'ActionNet'@'192.168.199.100' identified by 'zxc123';
    
    
    -- 授予权限
    grant 权限列表 on 数据库名.表名 to '用户名'@'主机名';
    -- 示例:授予任意地址登录ActionNet用户所有数据库所有权限
    GRANT ALL ON *.* TO 'ActionNet'@'%';
    

    最近遇到了添加了远程账户还是无法登录的情况,具体为Access denied for user 'root'@'localhost'
    这时候可以看看对应用户的plugin是不是mysql_native_password,因为这个才代表密码登录

    select user,host,plugin from user;
    
    User Host plugin
    root localhost mysql_native_password

    如果plugin不是这个,可以自己修改一下,正常修改表数据的SQL,就不写了

    配置防火墙

    之前因为我没有开防火墙,所以没想过会有这方面的问题,现在加上

    # firewall
    firewall-cmd --permanent --add-port=3306/tcp
    firewall-cmd --add-port=3306/tcp
    
    # iptables
    iptables -A INPUT -p tcp --dport 3306 -m state --state NEW,ESTABLISHED -j ACCEPT
    

    添加完防火墙记得重启一下

  • 相关阅读:
    作为一个新手程序员该如何成长?
    不同语言在函数内部定义函数
    展示出版社:写上URL地址对应函数、函数当中查询出所有的出版社、对象交给模板、循环对象拿出每条数据展示
    ORM对象关系映射:
    登录功能和数据库校验:
    登录功能的实现:
    项目那几步走:先配置setting路径文件、创建数据库、执行数据库迁移命令、配置mysql数据库信息、注册app、注释中间件、pymysql替换mysqldb-配置urls路由-继续视图函数-然后HTML页面展示-HTML里面导入css文件、models配置数据库表、
    计算输入的年份是否为闰年,并利用条件运算符输入“是”或者“不是”
    Oracle数据库基本概念理解(3)
    Oracle数据库基本概念理解(3)
  • 原文地址:https://www.cnblogs.com/wujuncheng/p/13388988.html
Copyright © 2011-2022 走看看