Linux安装MariaDB10.4

  • 1.卸载之前的mysql、mariadb
  • 2.下载、解压安装包
  • 3.配置
  • 4.创建启动脚本
  • 5. 启动MariaDB
  • 6. 设置mysql用户
  • 7. 服务启动/停止方式
  • 可能遇到的问题:

1.卸载之前的mysql、mariadb

查询yum安装的mysql、mariadb

rpm -qa | grep -i mysql
rpm -qa | grep -i mariadb


使用yum remove xxx卸载
例:yum remove mysql-community-server-5.6.51-2.el7.x86_64

查询安装包安装的mysql、mariadb

which mysql
which mariadb


将相关文件夹删除即可
例:rm -rf /usr/bin/mysql

查询mysql、mariadb相关文件夹

find / -name mysql


用rm命令删除相关文件夹即可

查看mysql进程

ps -aux | grep mysql

用kill -9 杀掉mysql进程
例:kill -9 10747

到这里mysql几乎被卸载干净了

2.下载、解压安装包

进入MariaDB官网(https://mariadb.org/),点击下载
这个10.4.27这个版本是1G,官网下载可能比较慢,如果有百度云会员的话可以用我的网盘链接下载(链接:https://pan.baidu.com/s/1t8PtW8Ydp3BzYiCDYhXhrw?pwd=6666
提取码:6666)


选择对应的版本下载

将下载完成的包上传到linux机器

使用tar命令解压安装包

tar -zxvf mariadb-10.4.27-linux-systemd-x86_64.tar.gz

等待解压完成后会出现一个与安装包同名的文件夹

3.配置

将解压出来的文件夹复制到你希望保存的路径(本例使用:/var/lib/)

cp mariadb-10.4.27-linux-systemd-x86_64 /var/lib/

将文件夹改名为mysql

mv /var/lib/mariadb-10.4.27-linux-systemd-x86_64 mysql

将mysql文件夹下的 wsrep.cnf文件复制到/etc下

cp /var/lib/mysql/support-files/wsrep.cnf  /etc/

改名为my.cnf,作为MariaDB的配置文件

mv /etc/wsrep.cnf my.cnf

编辑配置文件

vim /etc/my.cnf


说明:
basedir是MariaDB所在路径,本例是/var/lib/mysql
datadir是MariaDB存放数据的路径(自定义),本例是/var/lib/mysql/data

创建MariaDB存放数据的文件夹,本例是/var/lib/mysql/data

mkdir -p /var/lib/mysql/data

赋予MariaDB文件夹(/var/lib/mysql)一定的操作权限,不然在后面执行初始化脚本的时候会因为权限问题无法读写,保险起见,我赋予整个文件夹读、写、执行的权限。

chmod -R 777 /var/lib/mysql/

初始化数据库

/var/lib/mysql/scripts/mysql_install_db --datadir=/var/lib/mysql/data/ --basedir=/var/lib/mysql --defaults-file=/etc/my.cnf --user=mysql

注意:

  1. mysql_install_db这个初始化脚本一定要以绝对路径的方式调用启动,否则会

报“my_print_defaults找不到”的错误,这个原因是mysql_install_db脚本自身的bug

  1. –basedir是MariaDB所在路径,本例是/var/lib/mysql

  2. –datadir是MariaDB存放数据的路径,本例是/var/lib/mysql/data

  3. –defaults-file是配置文件的路径

  4. –user是前面useradd 命令添加的用户,本例添加的用户名是mysql

4.创建启动脚本

将MariaDB文件夹下的support-files/mysql.server复制到/etc/init.d下

cp /var/lib/mysql/support-files/mysql.server  /etc/init.d/mysqld

编辑脚本,找到basedir、datadir并修改

vim /etc/init.d/mysqld

basedir是MariaDB所在路径,本例是/var/lib/mysql

datadir是MariaDB存放数据的路径(自定义),本例是/var/lib/mysql/data

5. 启动MariaDB

systemctl start mysqld

6. 设置mysql用户

进入MariaDB

mysql -u root

注意:

  1. 由于此时root未设置密码,如果显示要输入密码,回车即可

  2. 若出现

    则使用mysql -u root -p,密码回车即可进入

    创建用户

CREATE USER 'lgy'@'%' IDENTIFIED BY 'lgy';

注意:

  1. @前面的’lgy’是用户名

  2. @后面的’%’ 是允许登录的主机,‘%’ 表示允许任意主机登录,'127.0.0.1’表示允许本机登录

给用户授权,并刷新权限

grant all privileges on . to ‘lgy’@‘%’ identified by ‘lgy’ with grant option;

flush privileges;

说明:

  1. on *.*表示所有数据库的所有表

  2. all privileges代表赋予所有权限

重启MariaDB

systemctl restart mysqld

防火墙开放MariaDB端口(本例是3306)

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

重启防火墙

firewall-cmd --reload

使用刚刚创建的用户测试连接数据库
创建用户

CREATE USER ‘lgy’@‘%’ IDENTIFIED BY ‘lgy’;

注意:

  1. @前面的’lgy’是用户名

  2. @后面的’%’ 是允许登录的主机,‘%’ 表示允许任意主机登录,'127.0.0.1’表示允许本机登录

给用户授权,并刷新权限

grant all privileges on . to ‘lgy’@‘%’ identified by ‘lgy’ with grant option;

flush privileges;

注意:

  1. on *.*表示所有数据库的所有表

  2. all privileges代表赋予所有权限

重启MariaDB

systemctl restart mysqld

防火墙开放MariaDB端口(本例是3306)

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

重启防火墙

firewall-cmd --reload

使用刚刚创建的用户测试连接数据库

7. 服务启动/停止方式

启动:systemctl start mysqld

重新启动:systemctl restart mysqld

查看状态:systemctl status mysqld

停止:systemctl stop mysqld

可能遇到的问题:

问题1:在执行sql语句时,出现“operation XXX failed”操作失败,如下图

解决方法:

  1. 刷新权限 => flush privileges;

  2. 再执行之前的sql语句

问题2:在启动MariaDB时,即systemctl start mysqld后,很长一段时间没有反应,使用systemctl status mysqld查看,长时间处于activating,随后启动失败。并且从错误日志中只发现连接超时(mysqld.service start operation timed out.),没有报任何错误。

解决方法:可能是配置文件格式有误。

  1. 将旧的配置文件备份

  2. 从MariaDB文件夹下的support-files/wsrep.cnf 拷贝到 /etc

cp /var/lib/mysql/support-files/wsrep.cnf  /etc/
  1. 编辑好配置文件后,重启mariadb

Linux安装MariaDB10.4相关推荐

  1. linux下一键编译安装MariaDB10.0.12

    虽然网上有很多的lnmp一键安装包,可以直接安装集成环境. 但是有时候我们需要单独的安装mariadb,则可以使用下面的脚本来安装. # 一键CMAKE编译安装mariadb-10.0.12 # 安装 ...

  2. Linux一键编译,linux下一键编译安装MariaDB10.0.12

    虽然网上有很多的lnmp一键安装包,可以直接安装集成环境. 但是有时候我们需要单独的安装mariadb,则可以使用下面的脚本来安装. # 一键CMAKE编译安装mariadb-10.0.12 # 安装 ...

  3. 实用的Linux 安装 zip unzip

    Linux 安装 zip unzip 1.apt-get 安装 apt-get install zip 2.yum 安装 yum install -y unzip zip 命令实例 1.把/home目 ...

  4. nginx linux 安装

    nginx linux 安装 进入http://nginx.org/en/download.html 下载 n  gcc 安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gc ...

  5. Linux安装Nodejs

    Linux安装Nodejs 阿里云镜像: https://npm.taobao.org/mirrors/node/ 选择所需版本,进行下载. 我这边下载的是:https://npm.taobao.or ...

  6. linux命令安装组件,Linux安装各种组件

    [TOC] Linux安装各种组件 ============================= ## 安装JDK 官网下载最新JDK ``` http://www.oracle.com/technet ...

  7. arch linux安装_如何从头开始安装Arch Linux

    arch linux安装 by Andrea Giammarchi 由Andrea Giammarchi In this article, you'll learn how to install Ar ...

  8. linux安装eclipse运行web,Linux安装Tomcat,运行Eclipse,web项目

    到官网下载:https://tomcat.apache.org/download-80.cgi  在这里是8.5.39版本 下载tar,gz 提取解压后,我这里是放到opt目录下 cd  切换目录 / ...

  9. linux 查看es安装目录,Linux安装Elasticsearch

    本文介绍Linux环境如何安装Elasticsearch. 本文环境是在腾讯云服务器CentOS7.2搭建的,JDK1.8,elasticsearch-5.4.2. 1 安装JDK 网上教程很多,也可 ...

最新文章

  1. 2022-2028年中国塑料安瓿瓶行业市场研究及前瞻分析报告
  2. Devexpress XtraGrid 控件编辑的内容,如何实时生效
  3. 沫沫金:Java快速合并两个数组【绝技】
  4. Code Push 热更新使用详细说明和教程
  5. Java架构师成长之道之浅谈计算机系统架构
  6. 适配器模式和外观模式
  7. 微博爬虫实践---搜索关键词
  8. 如何实现用户通信授权的可信、可知、可追溯?——通信授权服务技术解读
  9. 博客美化中遇到的问题汇总
  10. 一个数组中,除两个元素其余都出现了两次,找出这两个元素
  11. 7628刷breed_我的刷breed机方法 一步一图超详细
  12. 【Java8】Function 讲解
  13. 网友自制的谷歌输入法皮肤及制作方法
  14. JS调起支付宝进行银行卡转账
  15. 3、核对单《数据收集工具与技术》
  16. element el-table 计算指定列
  17. 14-1 没名字
  18. 物联网通信技术原理第3章 近距离无线通信技术
  19. 介绍一款很好用,超级棒的去中心化雷达 app
  20. 基于java的人事管理系统|人力请假考勤工资人事奖惩

热门文章

  1. 写正则好用的测试工具
  2. JS的重绘(repaints)和重排(reflows)
  3. 纯原生javascript下拉框表单美化实例教程
  4. 火星超大nasa开源全景图分享
  5. z-index失效的几种情况,父标签position属性为relative的时候,详解
  6. 如何进行内测分发?蒲公英内测托管平台使用教程
  7. 2、Linux命令合集
  8. 面向削峰填谷的电动汽车多目标优化调度策略 代码主要实现了考虑电动汽车参与削峰填谷的场景下,电动汽车充放电策略的优化,是一个多目标优化
  9. MII,RMII,GMII接口详细介绍
  10. android persist属性使用