千家信息网

Linux安装配置MariaDB数据库全程详解

发表于:2025-11-09 作者:千家信息网编辑
千家信息网最后更新 2025年11月09日,MariaDB在很多方面强于MySQL,在Linux下如何安装MariaDB数据库成为大家比较头疼的一个问题,下面用实例为大家讲解下MariaDB是采用Maria存储引擎的MySQL分支版本,在很多方
千家信息网最后更新 2025年11月09日Linux安装配置MariaDB数据库全程详解

MariaDB在很多方面强于MySQL,在Linux下如何安装MariaDB数据库成为大家比较头疼的一个问题,下面用实例为大家讲解下

MariaDB是采用Maria存储引擎的MySQL分支版本,在很多方面强于MySQL,那么在Linux下如何安装MariaDB数据库呢?下面小编就给大家介绍下Linux安装配置MariaDB数据库的方法。

  说明:

  操作系统:CentOS 5.10 32位

  MariaDB版本:mariadb-5.5.33a

  MariaDB数据库存放目录:/data/mysql

  准备篇:

  一、配置好IP、DNS 、网关,确保使用远程连接工具能够连接服务器,服务器yum命令可以正常使用

  二、配置防火墙,开启3306端口

  vi /etc/sysconfig/iptables #编辑

  -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT #允许3306端口通过防火墙

  特别提示:很多网友把这两条规则添加到防火墙配置的最后一行,导致防火墙启动失败,正确的应该是添加到默认的22端口这条规则的下面

  添加好之后防火墙规则如下所示:

  **********************************************************************************

  # Firewall configuration written by system-config-securitylevel

  # Manual customization of this file is not recommended.

  *filter

  :INPUT ACCEPT [0:0]

  :FORWARD ACCEPT [0:0]

  :OUTPUT ACCEPT [0:0]

  :RH-Firewall-1-INPUT - [0:0]

  -A INPUT -j RH-Firewall-1-INPUT

  -A FORWARD -j RH-Firewall-1-INPUT

  -A RH-Firewall-1-INPUT -i lo -j ACCEPT

  -A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT

  -A RH-Firewall-1-INPUT -p 50 -j ACCEPT

  -A RH-Firewall-1-INPUT -p 51 -j ACCEPT

  -A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT

  -A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT

  -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT

  -A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

  -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

  -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

  -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited

  COMMIT

  **********************************************************************************

  /etc/init.d/iptables restart #最后重启防火墙使配置生效

  三、关闭SELINUX

  vi /etc/selinux/config

  #SELINUX=enforcing #注释掉

  #SELINUXTYPE=targeted #注释掉

  SELINUX=disabled #增加

  :wq! #保存退出

  shutdown -r now #重启系统

  四 、系统约定

  MariaDB安装包存放位置:/usr/local/src

  MariaDB编译安装位置:/usr/local/mysql

  五、下载软件包

  1、下载MariaDB

  http://mirrors.scie.in/mariadb/mariadb-5.5.33a/kvm-tarbake-jaunty-x86/mariadb-5.5.33a.tar.gz

  2、下载cmake(MariaDB编译工具)

  http://www.cmake.org/files/v2.8/cmake-2.8.12.1.tar.gz

  下载以上两个软件,并上传到/usr/local/src目录

  六、安装编译工具及库文件(使用CentOS yum命令安装,安装的比较多,方便以后编译安装php、nginx等)

  yum install make apr* autoconf automake curl curl-devel gcc gcc-c++ gtk+-devel zlib-devel openssl openssl-devel pcre-devel gd kernel keyutils patch perl kernel-headers compat* cpp glibc libgomp libstdc++-devel keyutils-libs-devel libsepol-devel libselinux-devel krb5-devel libXpm* freetype freetype-devel freetype* fontconfig fontconfig-devel libjpeg* libpng* php-common php-gd gettext gettext-devel ncurses* libtool* libxml2 libxml2-devel patch policycoreutils bison

  安装篇

  一、安装cmake

  cd /usr/local/src

  tar zxvf cmake-2.8.12.1.tar.gz

  cd cmake-2.8.12.1

  。/configure

  make #编译

  make install #安装

  二、安装MariaDB

  groupadd mysql #添加MariaDB数据库安装用户组mysql

  useradd -g mysql mysql -s /bin/false #创建用户mysql并加入到mysql组,不允许mysql用户直接登录系统

  mkdir -p /data/mysql #创建MariaDB数据库存放目录

  chown -R mysql:mysql /data/mysql #设置MariaDB数据库目录权限

  mkdir -p /usr/local/mysql #创建MariaDB安装目录

  cd /usr/local/src

  tar zxvf mariadb-5.5.33a.tar.gz #解压

  cd mariadb-5.5.33a #进入安装目录

  cmake 。 -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DSYSCONFDIR=/etc

  #配置

  make #编译

  make install #安装

  cd /usr/local/mysql

  cp 。/support-files/my-huge.cnf /etc/my.cnf #拷贝配置文件(注意:如果/etc目录下面默认有一个my.cnf,直接覆盖即可)

  vi /etc/my.cnf #编辑配置文件,在 [mysqld] 部分增加

  datadir = /data/mysql #添加MariaDB数据库路径

  。/scripts/mysql_install_db --user=mysql #生成MariaDB系统数据库

  cp 。/support-files/mysql.server /etc/rc.d/init.d/mysqld #把MariaDB加入系统启动

  chmod 755 /etc/init.d/mysqld #增加执行权限

  chkconfig mysqld on #加入开机启动

  vi /etc/rc.d/init.d/mysqld #编辑

  basedir = /usr/local/mysql #MariaDB程序安装路径

  datadir = /data/mysql #MariaDB数据库存放目录

  service mysqld start #启动

  vi /etc/profile #把MariaDB服务加入系统环境变量:在最后添加下面这一行

  export PATH=$PATH:/usr/local/mysql/bin

  下面这两行把MariaDB的库文件链接到系统默认的位置,这样你在编译类似PHP等软件时可以不用指定MariaDB的库文件地址。

  ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql

  ln -s /usr/local/mysql/include/mysql /usr/include/mysql

  shutdown -r now #需要重启系统,等待系统重新启动之后继续在终端命令行下面操作

  mysql_secure_installation #设置MariaDB数据库root账号密码

  根据提示按Y 回车输入2次密码

  或者直接修改密码/usr/local/mysql/bin/mysqladmin -u root -p password "123456" #修改密码

  service mysqld restart #重启

  mysql -u root -p #输入上面设置的root密码登录到mariadb控制台,如下图所示:

  到此,MariaDB数据库安装完成!

  上面就是Linux安装配置MariaDB数据库的步骤的介绍了,基于MariaDB数据库的众多优点,相信还是很多人会选择使用MariaDB数据库的,对于不知如何安装MariaDB数据库的朋友来说,希望本文的介绍对你有所帮助。



linux下快速安装MariaDB

MariaDB一个采用 Maria 存储引擎MySQL 分支版本,是由原来 MySQL 的作者 Michael Widenius 创办的公司所开发 的免费开源的数据库服务器

本文介绍了在linxu下一个简单的安装 方法(在OpenSuse下测试成功):
下载页面: https://downloads.mariadb.org/mariadb/5.5.34/
# tar zxvf mariadb-5.5.31-linux-x86_64.tar.gz
# mv mariadb-5.5.31-linux-x86_64 /usr/local/mysql (必需这样,很多脚本或可执行程序都会直接访问这个目录)
# groupadd mysql 增加 mysql 属组
# useradd -g mysql mysql 增加 mysql 用户 并归于mysql 属组
# chown mysql:mysql -Rf /usr/local/mysql 设置 mysql 目录的用户及用户组归属。
# chmod +x -Rf /usr/local/mysql 赐予可执行权限
# cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf 复制默认mysql配置 文件到/etc 目录
# /usr/local/mysql/scripts/mysql_install_db --user=mysql 初始化数据
# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql 复制mysql服务程序 系统 目录
# chkconfig mysql on 添加mysql 至系统服务并设置为开机启动

# service mysql start 启动mysql
#vim /etc/profile 编辑profile,将mysql的可执行路径加入系统PATH
export PATH=/usr/local/mysql/bin:$PATH
#source /etc/profile 使PATH生效。
#mysqladmin -u root password 'yourrootpassword' 设定root账号及密码
#mysql -uroot -p 使用root用户登录mysql
[none]>use mysql 切换至mysql数据库。
[mysql]>select user,host,password from user; --查看系统权限
[mysql]>drop user ''@'localhost'; --删除不安全的账户
[mysql]>drop user root@'::1';
[mysql]>drop user root@127.0.0.1;
。。。
[mysql]>select user,host,password from user; --再次查看系统权限,确保不安全的账户均被删除。

[mysql]>flush privileges; --刷新权限

1)修改字符集为UTF8
#vi /etc/my.cnf
在[client]下面添加 default-character-set = utf8
[mysqld]下面添加 character_set_server = utf8
修改完重启:#service mysql restart

2)增加错误日志
#vi /etc/my.cnf
[mysqld]下面添加:
log-error = /usr/local/mysql/log/error.log
general-log-file = /usr/local/mysql/log/mysql.log
修改完重启:#service mysql restart

3) 设置为不区分大小写,linux下默认会区分大小写。
#vi /etc/my.cnf
[mysqld]下面添加:
lower_case_table_name=1
修改完重启:#service mysql restart
=========================================================================================================================================
以上是转载的,适合天linux没使用systemctl之前的系统,下面是使用systemctl系统的安装方法。同时引用mariadb官方的安装方法。
https://mariadb.com/kb/en/mariadb/installing-mariadb-binary-tarballs/
这里只引用root安装的方法,因为这种方法最常用,其他的可以通过以上链接去学习


groupadd mysql
useradd -g mysql mysql
cd /usr/local
tar -zxvpf /path-to/mariadb-VERSION-OS.tar.gz
ln -s mariadb-VERSION-OS mysql
cd mysql
./scripts/mysql_install_db --user=mysql
chown -R root .
chgrp -R root .
chown -R mysql data
chgrp -R mysql data
cp support-files/mysql.server /etc/init.d/mysql.server

在创建systemctl要用到的启动文件 /etc/systemd/system/mysql.service
[Unit]
Description=MySQL Server
After=network.target

[Service]
Type=forking
ExecStart=/etc/init.d/mysql.server start
ExecStop=/etc/init.d/mysql.server stop

[Install]
WantedBy=multi-user.target

#systemctl start mysql.service 命令就可以启动mysql了
systemctl可以查看这篇转载的,写得比较清晰。(查看)


开启远程连接:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION



数据 数据库 系统 目录 配置 用户 编译 密码 方法 权限 防火墙 服务 防火 命令 文件 位置 工具 库文件 服务器 版本 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 软件开发目前存在的问题 我的世界搭建服务器后怎么开创造 刺激战场亚服服务器人数 互联网公司和高科技公司区别 融汇兴业网络技术有限公司 清远软件开发报价 判断数据库是否插入成功 泰州通用软件开发用途 电信网络技术工程师干嘛的 阿里云免费云服务器账号 打好网络安全保卫战禄劝 随行付的软件开发薪资待遇如何 贵州服务器电源价钱多少 dell服务器启动系统修改 崇明区个人数据库报价行情 软件开发如何核算工时 成都昆腾软件开发有限公司 许 数字经济产业数据库 培训机构软件开发深圳到靠谱 网络安全白板手抄报 网络安全的重要性200字 抖音多开软件开发 泰州通用软件开发用途 众包 软件开发 php创建数据库用户 数据库可以对表排序的视图 软件开发技术实施能力 请问网络安全概念股都有哪些呢 涉密网络安全与 怎么重置oracle数据库
0