CWIKIUS
  • 首页
  • Java
  • Jersey
  • Jira
  • Confluence
  • U.S.
    • USRealEstate
    • U.S. Travel
    • H1B
  • 项目和网站
    • CWIKI.US
    • OSSEZ 社区
    • WIKI.OSSEZ.COM
    • BUG.OSSEZ.COM
    • RSS.OSSEZ.COM
MariaDB
MariaDB

Firewall-cmd 为 MariaDB 数据库防火墙进行配置

当你完成安装数据库后,通常会迫不及待的进行访问和连接。但是防火墙会给你很大的麻烦,如果你不进行正确的配置的话。不管使用什么工具,可能就是一直连不上。 本文主要帮助你解决这个小问题。 下面的配置需要在 MariaDB 数据库服务器上进行配置。 我们的场景是,假设我们有一个 Web 服务器是部署在 IP 地址 192.168.0.1 上面。我们需要这个 Web 服务器能访问我们的数据库。数据库使用的端口是 3306。 在正常安装情况下,如果你的 firewalld 启动的话,Web 服务器是没有办法进行访问的,因为你的端口和 IP 地址已经被禁止了。 解决办法 可以按照下面的办法进行配置。 在配置之前,我们的流程是配置一个 zone,然后为zone 里面添加 IP 地址和端口,然后重新启动防火墙。 添加 Zone 假设我们需要为我们的 MariaDB 数据库添加一个叫 mariadb_access 的 zone 依次执行下面的命令: # firewall-cmd --new-zone=mariadb_access --permanent # firewall-cmd --reload # firewall-cmd --get-zones 上面的命令执行的是,添加一个叫 mariadb_access 的 zone,将防火墙的配置重新载入,使配置生效,然后检查添加的 zone 是否成功。 如果一切顺利的话,你应该能够看到上面的内容,表示你添加的 zone 成功了。 添加 IP 地址和端口 需要依次执行下面的命令: firewall-cmd --zone=mariadb_access --add-source=192.168.0.1 --permanent firewall-cmd --zone=mariadb_access --add-port=3306/tcp --permanent firewall-cmd --reload 上面命令执行的是,将 IP 地址添加到信任的 zone 中,将端口也添加到信任的 zone 中。 重新载入防火墙,使配置生效。 查看 zone 的配置 使用下面的命令来查看 zone 的配置,确保你的配置生效 firewall-cmd --zone=mariadb_access --list-all 在上面的命令中,你应该可以看到添加的 IP 地址和端口。 使用一条命令 上面的操作步骤是按照添加 Zone 然后添加其他参数的方法来执行的。 你需要分步执行几条命令。 如果你想通过一条命令来完成上面的操作,你可以使用下面的示例: firewall-cmd --permanent –zone=mariadb_access --add-rich-rule='rule family="ipv4" source address="192.168.0.1" port protocol="tcp" port="3306" accept' 请注意,你需要将你实际 Web 服务器的 IP 地址来进行替换。 https://www.ossez.com/t/firewall-cmd-mariadb/619  

2020年10月29日 0Comments 171Browse 0Like Read more
MariaDB

MariaDB 在创建外键的时候提示 1005 错误

在 MariaDB 中的表创建外键的时候提示错误: SQL Error (1005): Can't create table `edx`.`TestBankAnswer` (errno: 150 "Foreign key constraint is incorrectly formed") 导致这样原因是因为你的表中没有创建 PK (主键)。 你需要在你的表上面创建主键后再创建外键就可以了。   https://www.ossez.com/t/mariadb-1005/225

2020年07月07日 0Comments 124Browse 0Like Read more
MariaDB

SQL Server 真的比不上MySQL 吗

离开数据量谈数据库就是耍流氓。 针对高级性能,MSSQL 要比 MySQL 好得多,问题是又有多少人,多少公司用得到那些高级性能呢? 从部署,使用场景来说:相对来说 MSSQL 的部署难度,服务器要求都要比 MySQL 高得多得多。对 Linux 相对熟悉的人能够在 10 分钟内部署一个可以用的 MySQL 数据库,抛开优化不考虑,这个数据库支持几个 TB 的数据还是没有什么太大问题的。就现在来说一般的中小公司在开发测试上 MySQL 足够用了,就算跑生产机也不会有太大的问题,现在还有一个 MySQL 的姐妹版本叫做 MariaDB,能够让你逃离 Oracle 的魔掌。 更极端的情况,如果你有个树莓派,你可以在你的树莓派上部署一个独立的数据库,这个独立的数据库在 Web 开发中支持你的开发环境和数据库,也问题不大,也比较好玩,部署时间不超过 10 分钟。这个对 MSSQL 和 ORACLE 来说是根本不可能的。 这样能够让公司更加专注业务场景的开发,而不是纠结使用哪个数据库。 免费:MSSQL 和 ORACLE 的数据库使用许可证对很多公司来说可是一笔不小的投入,这个其实就等于买个保险。很多 ORACLE 的高级功能真的很少用到。写到 Oracle 的存储过程,有时候和看天书差不多,可维护性极差。另外如果你要升级 Oracle 和 MSSQL 的话,恭喜你,你可能不但蛋疼,还钱包疼,甚至有可能全身疼。 去中心数据库化:随着微服务,云计算和很多概念的兴起,很多公司都开始着手去中心数据库化。也是为了数据安全和降低使用成本考虑。在这种环境下 MySQL 反而有着先天优势,快速部署,可优化,技术上不受制于人。 看你的数据量吧,对现在的计算机性能来说,如果不是非常巨大,偶尔重启下都不是什么问题的没有必要在各个数据库之间纠结。快速部署,快速开发,实现业务这个才是王道。

2020年05月11日 0Comments 156Browse 0Like Read more
MariaDB

MariaDB CentOS 安装的时候如何确定 Repo 地址

在CentOS 安装 MariaDB 数据库的时候,yum 安装显示没有匹配的安装包。 我们应该如何配置能够让安装成功呢? 你需要在你的 CentOS 中编辑 /etc/yum.repos.d/MariaDB.repo 文件。 这个文件的内容,你可以访问: https://downloads.mariadb.org/mariadb/repositories/#distro=CentOS&mirror=supportex 找到。 通过上面的链接,你可以找到你需要的仓库配置。 例如 MariaDB 10.4 的配置如下: # MariaDB 10.4 CentOS repository list - created 2020-05-06 05:31 UTC # http://downloads.mariadb.org/mariadb/repositories/ [mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.4/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1 如果你只需要安装服务器,你就可以执行: sudo yum install MariaDB-server 命令进行安装就可以了。   https://www.cwiki.us/display/MariaDB/questions/62619658

2020年05月06日 0Comments 134Browse 0Like Read more
Computer Science

RaspberryPi(树莓派)如何安装 MariaDB / MySQL 数据库

安装的过程比较简单。 但是这里有一个地方需要注意,如果你希望是能够通过网络访问你安装的数据库的话。 在你设置好用户名和密码,以及访问权限后,你可能发现你还是访问不了。 这是因为你的安装服务器只绑定了能够本地访问,你需要修改配置,让你的服务器能够支持远程访问。 具体的方法,请参考 RaspberryPi(树莓派)安装 MariaDB 数据库没有办法远程访问 页面中的文章。 更新系统 通过运行命令: sudo apt-get update 来对你需要安装的系统进行更新,根据网络的情况可能需要的时间也不相同。 我们更新后系统的输出内容为: root@raspberrypi:~# sudo apt-get update Hit:1 http://archive.raspberrypi.org/debian buster InRelease Get:2 http://raspbian.raspberrypi.org/raspbian buster InRelease [15.0 kB] Get:3 http://raspbian.raspberrypi.org/raspbian buster/main armhf Packages [13.0 MB] Fetched 13.0 MB in 19s (694 kB/s) Reading package lists... Done root@raspberrypi:~# 安装数据库 通过下面的情况就可以自动执行安装了: sudo apt-get install mariadb-server 设置安全 当服务器安装完成后,你需要运行: sudo mysql_secure_installation 来为你的数据库设置安全。 主要这个用途是设置你 root 的密码,root 的远程访问权限,是否允许匿名访问,是否允许远程访问等。 如果你只是测试在本地使用这个数据库,你可以不用设置这个。 但是我们还是建议你设置。 单独设置一个可以远程访问的用户 你可以单独设置一个用户能具有足够 root 的权限执行所有操作,可以进行远程访问。 你也可以使用 root 用户进行配置,但是我们不建议你使用 root 用户。 在你安装的服务器上,使用 mysql 登录到服务器上。 然后执行下面的命令: CREATE USER 'honeymoose'@'%' IDENTIFIED BY '12345678'; GRANT USAGE ON *.* TO 'honeymoose'@'%'; GRANT ALL PRIVILEGES ON *.* TO 'honeymoose'@'%' IDENTIFIED BY '12345678' WITH GRANT OPTION; FLUSH PRIVILEGES; 请注意,上面的命令是在你使用 root 登录到服务器上后进行数据库的授权的。 执行上面 SQL 的意图是,创建一个用户,为用户赋权。 修改配置允许远程访问 如果你现在进行远程连接  MariaDB / MySQL 的时候,你会收到连接 10061 的错误。 按照我们前面的提示,这是因为绑定的问题。 旧版本的MySQL修改/etc/mysql/my.cnf文件,修改内容相同。 如果你的服务上的版本没有这个文件的话,新版本的服务器,你需要修改: /etc/mysql/mariadb.conf.d/50-server.cnf 这个文件。 注释掉 ’bind-address 必要的话,可以尝试重启服务器。 重启服务器的命令是: root@raspberrypi:~# service mariadb restart 查看数据库服务器进程是是否运行的命令是: service mariadb status 如果服务器输出下面的信息,表示服务器已经运行了,你可以尝试使用 Client 远程进行连接了。 root@raspberrypi:~# service mariadb status ● mariadb.service - MariaDB 10.3.22 database server Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled) Active: active (running) since Sun 2020-04-05 10:57:14 EDT; 11s ago Docs: man:mysqld(8) https://mariadb.com/kb/en/library/systemd/ Process: 1691 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=0/SUCCESS) Process: 1692 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS) Process: 1694 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= || VAR=`/usr/bin/galera_recovery`; [ $? -eq 0 ] && systemctl set-environment _WSREP_START_POSITION=$VAR || exit 1 (code=exited, status=0/SUCCESS Process: 1771 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS) Process: 1773 ExecStartPost=/etc/mysql/debian-start (code=exited, status=0/SUCCESS) Main PID: 1740 (mysqld) Status: "Taking your SQL requests now..." Tasks: 31 (limit: 4035) Memory: 47.7M CGroup: /system.slice/mariadb.service └─1740 /usr/sbin/mysqld Apr 05 10:57:13 raspberrypi systemd[1]: Starting…

2020年04月05日 0Comments 169Browse 0Like Read more
Computer Science

RaspberryPi(树莓派)安装 MariaDB 数据库没有办法远程访问

在 RaspberryPi(树莓派) 上安装 MariaDB  或者 MySQL 数据库的时候。 设置的用户没有办法通过网络远程登录。 首先确定的是,用户已经设置了访问权限。 提示的错误信息是: ERROR 2002 (HY000): Can't connect to MySQL server on '192.168.0.201' (115) 其中地址 192.168.0.201 是 RaspberryPi(树莓派)的地址 这里是一个有关 RaspberryPi(树莓派)的配置问题。 你可以使用 nano /etc/mysql/mariadb.conf.d/50-server.cnf 编辑这个文件。 找到 #bind-address = 127.0.0.1 这个语句。 如果你没有注释掉这个语句的话,你需要注释掉。 因为如果你不注释掉这个,你的 MariaDB 数据库只会绑定 127.0.0.1 的地址,这样的话你只能在  localhost 上登录。 随后你可以尝试通过网络访问你的数据库了。 https://www.cwiki.us/questions/57938841

2020年04月05日 0Comments 159Browse 0Like Read more
MariaDB

MariaDB 服务器在 MySQL Workbench 备份数据的时候出错如何解决

服务器是运行在 MariaDB 10.2 上面的,在使用 MySQL Workbench 出现错误: mysqldump: Couldn't execute 'SELECT COLUMN_NAME, JSON_EXTRACT(HISTOGRAM, '$."number-of-buckets-specified"') FROM information_schema.COLUMN_STATISTICS WHERE SCHEMA_NAME = 'mls' AND TABLE_NAME = 'office';': Unknown table 'COLUMN_STATISTICS' in information_schema (1109) 这看起来应该是 MySQL Workbench 使用的 mysqldump 版本和服务器的版本不兼容的问题。 你可以现在 MariaDB 的 ZIP 包解压后到你本地机器上。 然后在 MySQL Workbench 上配置使用 MariaDB 自带的 dump 程序。   https://www.cwiki.us/display/MariaDB/questions/41680979/mariadb-%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%9C%A8-mysql-workbench-%E5%A4%87%E4%BB%BD%E6%95%B0%E6%8D%AE%E7%9A%84%E6%97%B6%E5%80%99%E5%87%BA%E9%94%99

2018年11月19日 0Comments 407Browse 0Like Read more
Categories
  • Akka
  • Algorithm(算法)
  • AMQP
  • Angular
  • CI
  • Compile And CI
  • Computer Science
  • Confluence
  • DataBase
  • Gradle
  • Hibernate
  • IDE
  • Java
  • Jersey
  • Jira
  • MariaDB
  • PrestaShop
  • Spring
  • Spring Batch
  • U.S.
  • U.S. Travel
  • USRealEstate
  • 我的小厨

COPYRIGHT © 2020 CWIKIUS. ALL RIGHTS RESERVED.

THEME KRATOS MADE BY VTROIS

湘ICP备2020018253号-1