maraidb 10.6 离线安装 二进制安装 centos8 openeular

mariadb安装可以分为dnf(yum)安装,或者二进制安装(自定义安装)
本文主要是指二进制安装的方式,该服务器主要用于mysql(mariadb)数据库的主从复制
在安装过程中出现的比较棘手的问题是
报错ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock'
参考连接:https://blog.51cto.com/jschu/4323600
最后找到的原因,是因为没有创建软连接到/usr/local/mysql,在报错信息里mysqld的命令执行好像是从这里找的,没有深入研究,初步判断可能是改命令的默认路径是/usr/local/mysql,后续有时间研究后再来更新。
--20230313 wms项目的mariadb部署过程中再次遇到了一系列的问题,通过搜索返现与路径有关系,在mariadb的大多数路径中都是默认/usr/local/mysql,而不是mariadb,即使你修改其中的一两个文件也无济于事
--这次安装中安装了10.11.2,与10.6.9差异不大,主要还是前面遇到的这些问题
--思考一下为甚么喜欢二进制安装而不是,dnf安装,可能是这样安装的目录结构看起来更加清爽一些,出现问题更容易定位,也更容易了解软件的文件结构。可能还是我太菜了对linux不够鼠疫
http://lxfamn.cn/blog/?p=7682
http://lxfamn.cn/blog/?p=7677
http://lxfamn.cn/blog/?p=7680

ln -sv /usr/local/mariadb/ /usr/local/mysql

记录一下安装过程,用于后续服务器安装配置

安装环境

openeuler对应centos8版本

一、 安装过程

卸载系统自带的mysql,之前安装等

#检查mariadb是否存在
[root@cdh01 local]# rpm -qa | grep mariadb
mariadb-libs-5.5.60-1.el7_5.x86_64
#卸载
[root@cdh01 local]# rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64
[root@cdh01 local]# find / -name mysql
/var/lib/pcp/config/pmlogconf/mysql
/usr/lib64/mysql
/usr/share/mysql
[root@cdh01 local]# rm -rf /var/lib/pcp/config/pmlogconf/mysql
# 手动删除  数据库目录
[root@cdh01 local]# rm -rf /var/lib/mysql/
# 手动删除  数据库配置文件
[root@cdh01 local]# rm -rf /usr/share/mysql/

创建 mysql 用户及用户组并更改所属的组和用户


[root@cdh01 local]# groupadd mysql
[root@cdh01 local]# useradd -g mysql mysql
[root@cdh01 local]# chown -R mysql:mysql /usr/local/mariadb/

下载mariadb

wget https://tw1.mirror.blendbyte.net/mariadb/mariadb-10.6.9/bintar-linux-systemd-x86_64/mariadb-10.6.9-linux-systemd-x86_64.tar.gz
tar -xvf mariadb-10.6.9-linux-systemd-x86_64.tar.gz

将解压 MariaDB 移动到/usr/local/

mv mariadb-10.6.9-linux-systemd-x86_64 /usr/local/mariadb

创建数据库存放路径,并授权

 mkdir -p  /usr/local/mariadb/data/mysql
 chown mysql.mysql /usr/local/mariadb/data/mysql

新建配置文件my.cnf

新建配置文件 /etc/my.cnf,并添加以下配置

[client]
password        = 你的密码
port            = 3306
socket          = /usr/local/mariadb/data/mysql.sock

[mysqld]
server-id=126
port            = 3306
#添加
user            = mysql
basedir         = /usr/local/mariadb
datadir =/usr/local/mariadb/data

innodb_file_per_table = on

skip_name_resolve = on

socket=/usr/local/mariadb/data/mysql.sock
init_connect='SET collation_connection=utf8mb4_unicode_ci'
init_connect='SET NAMES utf8mb4'
character-set-server=utf8mb4
#collation-server=utf8mb4_unicode_ci
skip-character-set-client-handshake

slow_query_log_file = /usr/local/mariadb/logs/slow-query.log

#expire_logs_days  = 30
#slave_skip_errors = all

#auto_increment_offset = 1
#auto_increment_increment = 2

#修改
max_connections = 1500
ft_min_word_len = 1
default-storage-engine = InnoDB
#log-bin=/data/mysql/log/bin_log/mysql-bin
#server-id = 1

innodb_buffer_pool_size = 8G
innodb_log_file_size = 512M

[mysqld_safe]
open-files-limit = 8192
#添加
log-error=/usr/local/mariadb/logs/mysqld.log
pid-file=/usr/local/mariadb/logs/temp/mysqld.pid

安装 MariaDB 并初始化


[root@cdh01 mariadb]# ./scripts/mysql_install_db --datadir=/usr/local/mariadb/data --user=mysql

Installing MariaDB/MySQL system tables in '/usr/local/mariadb/data' ...
OK

To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system
...

配置启动服务

# 准备服务脚本,并启动服务

[root@localhost mysql]# cp support-files/systemd/mariadb.service /usr/lib/systemd/system/mariadb.service
# 创建日志文件目录(不创建启动失败)
mkdir /var/log/mariadb
mkdir /var/run/mariadb
chown mysql:mysql /var/log/mariadb
chown mysql:mysql /var/run/mariadb

# 设置PATH路径并生效
[root@localhost ~]# echo 'PATH=/usr/local/mariadb/bin:$PATH' >> /etc/profile
[root@localhost ~]# source /etc/profile

# 创建 /tmp/mysql.sock 软链接
ln -s /usr/local/mariadb/data/mysql.sock /tmp/mysql.sock

# 启动服务

systemctl enable mysqld.service
systemctl start mysqld

# 登录 mysql
[root@localhost mysql]# mysql

转载请注明出处:

转载自http://lxfamn.cn/blog

未经允许不得转载:lxfamn » maraidb 10.6 离线安装 二进制安装 centos8 openeular

赞 (0) 打赏

置顶推荐

评论 0

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏