Linux 下安装MariaDB

Linux下MariaDB 的二进制包安装方法

软件包的安装方式有三种:源码包安装、二进制包安装、rpm包安装。这三种安装方法都各有优劣。RPM安装:适合小环境,核心功能都具备,快速搭建环境,但它的版本一般都不会太高;二进制安装:它是发布出来时预先编译过的,既避免了编译的麻烦,又提供了增强功能;编译安装:它的要求高,要有编译环境,编译时可指定几乎所有选项,可满足你的所有选择。

今天就来讲讲二进制方式的安装,它即解决了版本的问题,又不会像源码编译一样需要我们花费大量的时间去编译。对于二进制格式的包,我们只需要解压缩后就能够使用数据库,这听起来很容易,但必须要注意一些问题。二进制格式的程序包是已经编译好的二进制程序,所以里边有很多脚本都是在固定的路径下执行的,所以安装过程中我们必须按照它所给的安装信息来安装。而安装MariaDB它的安装路径必须在/usr/local目录下,并且目录名称必须叫mysql。如果不这样设置,一些脚本无法运行,更别提能成功安装了。

安装步骤:
      1、下载二进制包
      2、解压到安装目录
      3、准备配置文件
      4、准备数据库
      5、准备日志文件
      6、准备服务脚本
      7、安全初始化

安装过程:

1、下载二进制包。下载地址

我这里选择最新版本的mariadb-10.3.14稳定版,进入后下载适用于64位操作系统的Linux x86_64版本

2、解压到安装目录下

下载完成后用SFTP上传到Linux里,然后解压到/usr/local目录里:

tar -zxvf mariadb-10.3.14-linux-x86_64.tar.gz -C /usr/local

3、准备配置文件

根据文件我们要创建一个mysql的用户,它可以对以后的mysql数据库进行管理,同时我们还可以指定mysql的数据目录,这样以后它的存储数据就可以独立出来放置了,同时指明shell类型为nologin:

useradd -r -m -d /usr/local/mariadb-10.3.14-linux-x86_64/data -s /sbin/nologin mysql

创建一个mysql的软连接,这样可以方便以后的版本更新:

cd /usr/local
ln -sv mariadb-10.3.14-linux-x86_64 mysql

然后要把这个目录的管理权限给mysql管理:

chown -R root:mysql mysql/

准备一个my.cnf文件,并放入指定目录,my.cnf文件内容如下,修改安装目录和数据存储目录为上面设置好的对应目录:

[mysqld]
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER
character_set_server=utf8
# MariaDB 安装目录
basedir = /usr/local/mariadb-10.3.14-linux-x86_64
# MariaDB 数据存储目录
datadir = /usr/local/mariadb-10.3.14-linux-x86_64/data
bind-address = 0.0.0.0
# 端口号
port = 3306
server_id = 1
socket = /tmp/mysql.sock
event_scheduler=on
slow_query_log = off
skip_name_resolve
default_storage_engine = InnoDB
lower_case_table_names = 1
innodb_buffer_pool_size = 4G
innodb_undo_log_truncate = ON
max_allowed_packet = 1G
group_concat_max_len = 102400
max_connections = 5000
binlog_cache_size = 2M
read_buffer_size = 8M
innodb_flush_log_at_trx_commit = 2
sync_binlog = 0
innodb_autoextend_increment = 1000
innodb_flush_method = O_DIRECT
innodb_read_io_threads = 10
innodb_write_io_threads = 10
interactive_timeout = 1800
wait_timeout = 1800
binlog_cache_size = 2048KB
back_log = 3000
max_connect_errors = 1000
concurrent_insert=2
innodb_autoextend_increment=128
innodb_buffer_pool_instances=1
innodb_log_file_size = 256M

把my.cnf放入指定目录:

mkdir /etc/mysql/
cp ./my.cnf  /etc/mysql/my.cnf

4、准备数据库文件

/usr/local/mysql/scripts/mysql_install_db --datadir=/usr/local/mariadb-10.3.14-linux-x86_64/data --user=mysql

执行后它会给一些警告信息,可以忽略。

5、准备日志文件

准备好日志文件,这样可以有利于以后的排错。当然由于这个服务是mysql管理的,而mysql是对/var/log/这个目录没有写权限的,所以这里我们还需要给mysql一个ACL的特殊权限才行,先创建好目录和文件,再给予mysql一个ACL的特殊权限,使它可以读写日志:

mkdir /var/log/mariadb/
touch /var/log/mariadb/mariadb.log
setfacl -R -m u:mysql:rwx /var/log/mariadb/mariadb.log

6、准备服务脚本

到这里MariaDB二进制包已经安装完毕了。我们现在就要把这个服务启动起来,所以就需要为这个服务准备启动脚本。当然这个脚本也在软件包里有提供,我们只需要复制出来就可以使用了。这个脚本也是放置在support-files这个目录里,它的里面有一个mysql.server的文件就是提供的服务脚本,复制到/etc/init.d/放置服务脚本的目录下:

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
chkconfig --add mysql
chkconfig on

chkconfig --add mysql    ### 把这个服务加入到服务列表中去

chkconfig on    ### 这个服务设定为开机自启,默认为2、3、4、5这三种模式下开机会自动启动

启动mysql服务:

service mysql start

做完这些后我们就可以进入数据库了,但是它的命令路径不在默认的PATH路径下,而是在/usr/local/mysql/bin/目录下,所以我们每次要进入数据库还需要敲这长长的一串命令。这样太麻烦,所以我们就把这个命令的路径写入到PATH变量里面去,省的以后敲命令麻烦:

vim /etc/profile.d/mysql.sh
export  PATH=/usr/local/mysql/bin:$PATH
source /etc/profile.d/mysql.sh 

添加完成后就可以使用 mysql 这个命令来直接进入数据库了

7、安全初始化

此时mysql这个服务以经开启了,但是它现在并不安全。因为现在任何用户都可以访问这个数据库,所以我们要给这个数据库设置管理用户,设定访问权限。下面这个xxxx用户是不需要密码就可以进入的:

mysql -u xxxxx

所以为了安全,我们要对数据库进行安全初始化设置。这个命令在mysql的命令包里是自带的所以我们只需要去执行这条命令就可初始化了,先使用quit;命令退出MariaDB,注意有结束符英文分号“;”

输入命令初始化:

mysql_secure_installation

从上图可以看到安全初始化后,匿名账号已经登录不进去了。现在管理员就可以自由的分配用户来进行对数据库的管理了。

   管理员进入数据库进行查看:

防火墙放行3306端口:

firewall-cmd --zone=public --add-port=3306/tcp --permanent

立即生效

firewall-cmd --reload

若远程连接提示:

Host ‘xxx.xxx.xxx.xxx’ is not allowed to connect to this mariadb server

是因为未开启远程连接权限,使用命令mysql -uroot -p**** 进入mysql,给予root用户,所有IP授权:

grant all privileges on *.* to ‘root’ @’%’ identified by ‘password’ with grant option;
flush privileges;

 

 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要在Linux上离线安装MariaDB,您需要按照以下步骤操作: 1.下载MariaDB二进制文件:您可以从MariaDB官方网站下载适用于您的Linux发行版的二进制文件。 2.将二进制文件复制到Linux服务器:将下载的二进制文件复制到您的Linux服务器上。 3.解压缩二进制文件:使用tar命令解压缩二进制文件。 4.创建MariaDB数据目录:使用mkdir命令创建一个新的目录,用于存储MariaDB数据。 5.初始化MariaDB数据库:使用mysql_install_db命令初始化MariaDB数据库。 6.启动MariaDB服务:使用systemctl命令启动MariaDB服务。 7.配置MariaDB:使用mysql_secure_installation命令配置MariaDB,包括设置root密码和删除测试数据库等。 8.测试MariaDB:使用mysql命令测试MariaDB是否正常工作。 以上是在Linux上离线安装MariaDB的基本步骤。请注意,具体步骤可能因Linux发行版而异。 ### 回答2: MariaDB是一个免费的、开源的关系型数据库管理系统,它是MySQL的一个分支。在Linux操作系统上,安装MariaDB有多种方法,本文将介绍如何离线安装MariaDB。 一、下载MariaDB安装包 在安装MariaDB之前,我们需要下载安装包。可以在官方网站(https://mariadb.org/download/)上下载最新的稳定版本的MariaDB的tar.gz压缩包。在下载页面中,有多个选项,可以根据自己的需要选择对应的版本。在本次安装中,我们选择了10.3.17版本的MariaDB。 二、解压安装包 下载完成后,我们进入下载目录,在终端中输入以下命令进行解压安装包: $ tar -zxvf mariadb-10.3.17.tar.gz 此命令将解压后的文件放置在当前目录下的“mariadb-10.3.17”文件夹中。 三、创建用户与组 接下来,我们需要创建一个MariaDB用户和一个MariaDB组,用来运行MariaDB服务。在终端中输入以下命令: $ sudo groupadd mysql $ sudo useradd -g mysql mysql 四、安装依赖库 在离线安装中,我们需要手动安装MariaDB所依赖的库。在终端中输入以下命令: $ sudo yum install libaio $ sudo yum install libaio-devel $ sudo yum install ncurses-devel 五、配置MariaDB 接下来,我们需要进入到MariaDB文件夹中,对其进行配置。在终端中输入以下命令: $ cd mariadb-10.3.17 $ sudo cmake . –DCMAKE_INSTALL_PREFIX=/usr/local/mysql –DMYSQL_DATADIR=/usr/local/mysql/data –DSYSCONFDIR=/etc –DWITH_INNOBASE_STORAGE_ENGINE=1 –DWITH_MYISAM_STORAGE_ENGINE=1 –DWITH_EMBEDDED_SERVER=1 –DENABLED_LOCAL_INFILE=1 注:其中,-DCMAKE_INSTALL_PREFIX表示安装目录,-DMYSQL_DATADIR表示数据库文件存放目录,-DSYSCONFDIR表示配置文件存放目录,以上路径可自行更改 六、编译并安装MariaDB 配置完成后,我们需要编译并安装MariaDB。在终端中输入以下命令: $ sudo make $ sudo make install 安装完成后,我们需要对MariaDB进行初始化。在终端中输入以下命令: $ sudo /usr/local/mysql/scripts/mysql_install_db –user=mysql –basedir=/usr/local/mysql –datadir=/usr/local/mysql/data 接下来,我们需要将MariaDB安装目录添加到系统环境变量中。在终端中输入以下命令: $ sudo vi /etc/profile 在文件末尾加入以下代码: export PATH=$PATH:/usr/local/mysql/bin 保存并退出。在终端中输入以下命令使配置生效: $ source /etc/profile 七、启动MariaDB 现在,我们可以启动MariaDB服务,使用以下命令: $ sudo /usr/local/mysql/support-files/mysql.server start 使用以下命令查看MariaDB服务状态: $ sudo /usr/local/mysql/support-files/mysql.server status 八、测试连接 现在,我们可以测试连接到MariaDB。在终端中输入以下命令: $ mysql -u root -p 此命令将提示输入root用户的密码,输入密码后,将会进入MariaDB的命令行模式。 至此,MariaDB的离线安装完成。通过以上步骤,我们可以在Linux系统中顺利地安装MariaDB,为后续的数据库操作提供基础支持。 ### 回答3: MariaDB是一个开源的关系型数据库管理系统,是MySQL项目的社区分支。相比于MySQL,MariaDB更加稳定,性能更优秀,使用也更加方便。本文将详细介绍如何在Linux系统中离线安装MariaDB。 1. 下载MariaDB 首先,需要下载MariaDB的二进制安装包。可以从官方网站 https://downloads.mariadb.org/ 下载安装包,选择适合自己系统的版本和对应的版本号,下载到本地。 2. 安装依赖包 在安装MariaDB之前,需要确保系统已经安装了以下依赖包: - zlib-devel: 用于压缩和解压缩数据的库。 - openssl-devel: 用于支持SSL连接的库。 - ncurses-devel: 用于支持终端界面的库。 如果没有安装上述依赖包,可以在命令行中使用以下命令进行安装: ``` yum install zlib-devel openssl-devel ncurses-devel -y ``` 3. 安装MariaDB 在下载了MariaDB的二进制安装包和安装了依赖包之后,可以进行MariaDB安装。在命令行中执行以下命令: ``` tar -xzvf mariadb-10.3.9-linux-x86_64.tar.gz cd mariadb-10.3.9-linux-x86_64/ ./bin/mysql_install_db --user=mysql --basedir=/opt/mariadb --datadir=/opt/mariadb/data ``` 执行完上述命令之后,会将MariaDB安装到/opt/mariadb目录下,并初始化数据目录/opt/mariadb/data。 4. 修改配置文件 MariaDB的配置文件为my.cnf,需要根据实际需要进行修改。可以将my.cnf复制到/opt/mariadb/etc/目录下,并进行修改。 以下是一个简单的my.cnf配置文件: ``` [client] port = 3306 socket = /opt/mariadb/data/mysql.sock [mysqld] port = 3306 socket = /opt/mariadb/data/mysql.sock pid-file = /opt/mariadb/data/mysql.pid character-set-server = utf8mb4 collation-server = utf8mb4_general_ci datadir = /opt/mariadb/data log-error = /opt/mariadb/logs/mysqld.log log-bin = /opt/mariadb/logs/mariadb-bin expire_logs_days = 14 max_binlog_files = 100 max_connections = 300 query_cache_size = 256M innodb_buffer_pool_size = 2G innodb_flush_log_at_trx_commit = 2 innodb_flush_method = O_DIRECT [safe_mysqld] err-log = /opt/mariadb/logs/mysqld_safe.log ``` 5. 启动MariaDB 在完成了依赖包安装MariaDB安装和my.cnf配置之后,可以启动MariaDB。在命令行中执行以下命令: ``` /opt/mariadb/bin/mysqld_safe --defaults-file=/opt/mariadb/etc/my.cnf & ``` 启动成功后,可以通过命令行或其他客户端工具连接到MariaDB。默认的用户名为root,密码为空。 6. 添加MariaDB到系统服务 为了方便启动和关闭MariaDB,可以将MariaDB添加到系统服务中。可以创建一个mariadb.service文件,将其保存到/etc/systemd/system/目录下。 以下是mariadb.service文件的内容: ``` [Unit] Description=MariaDB database server After=network.target [Service] Type=simple User=root WorkingDirectory=/opt/mariadb PIDFile=/opt/mariadb/data/mysql.pid ExecStart=/opt/mariadb/bin/mysqld_start ExecStop=/opt/mariadb/bin/mysqld_stop [Install] WantedBy=multi-user.target ``` 保存后,执行以下命令使mariadb.service生效: ``` systemctl daemon-reload systemctl enable mariadb.service ``` 现在,可以使用以下命令管理MariaDB: ``` systemctl start mariadb.service # 启动MariaDB服务 systemctl stop mariadb.service # 停止MariaDB服务 systemctl status mariadb.service # 查看MariaDB服务状态 systemctl restart mariadb.service # 重启MariaDB服务 ``` 至此,Linux系统中离线安装MariaDB的过程就介绍完毕了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值