Linux环境部署两台数据库MYSQL8.0

概述

业务需要在单台服务器上部署两套mysql8.0数据库服务,其中也踩了许多坑的地方,在这里留个笔记。
部署两套数据库,主要思路,就是分开两套环境,两套配置文件,然后先按照第一套环境配置启动第一台服务,随后就是一模一样操作,启动第二台数据库服务。

下载安装包

wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz

如果在官网上下载,要看自己的机器是多少位的,找到合适的版本。我的服务器是64位,结果我下载的是“mysql-8.0.28-linux-glibc2.12-i686.tar.xz”安装包,这个安装包是32位,解压安装会出现一些库找不到的问题。

新建目录

在/data目录下创建一个数据库目录,数据库目录下创建两个目录,一个是mysql3306,一个是mysql3307

解压

tar -xvf mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz

解压后的目录重命名为mysql,分别移动到mysql3306和mysql3307中。

创建用户和用户组

 groupadd mysql
useradd -g mysql mysql

创建配置和其他文件

  1. 删除 /etc/my.cnf 和 /etc/my.cnf.d文件
  2. 在mysql3306创建my.cnf,完成后,修改相关信息复制一份到mysql3307中。内容如下([mysqld,client]此类引导头不能去掉,否则会报错)

[mysql]
default-character-set=utf8mb4
[client]
port=3306
socket=/data/mysqls/mysql3306/mysql.sock
[mysqld]
port=3306
socket=/data/mysqls/mysql3306/mysql.sock
basedir=/data/mysqls/mysql3306
datadir=/data/mysqls/mysql3306/data
log-error=/data/mysqls/mysql3306/mysql.log
pid-file=/data/mysqls/mysql3306/mysql.pid

在my.cnf中,指定了data目录、mysql.log文件,这里先提前创建。

mkdir /data/mysqls/mysql3306/data

touch /data/mysqls/mysql3306/mysql.log

赋予权限

给mysqls下所有文件赋予权限,包括my.cnf等

chown -R mysql.mysql /data/mysqls/
chmod -R 755 /data/mysqls/

初始化

可切换为mysql身份执行指令,也可以使用root身份执行指令。本人用的mysql身份。进入mysql3306下的mysql的bin目录,执行命令(另一台数据库一样操作,目录不同而已)

./mysqld --user=mysql --basedir=/data/mysqls/mysql3306 --datadir=/data/mysqls/mysql3306/data/ --initialize

初始化之前试过指定文件,但是mysql还是用默认的路径和参数,这里在初始化时候指定目录。
记住控制台的密码,后续会用上。

启动数据库

./mysqld_safe --defaults-file=/data/mysqls/mysql3306/my.cnf &

启动数据库指定我们的配置文件,在启动的日志里面可能会出现权限报错,这个时候需要对我们配置的目录赋予权限,具体目录参考日志。如下:

对问题目录下的文件,都改为mysql用户组

再次启动,可启动成功

登录并修改密码

我们进入mysql3306和mysql3307各自的bin目录下,使用命令登录

./mysql -u root -p -h127.0.0.1 --port=3306

./mysql -u root -p -h127.0.0.1 --port=3307

如果不指定 -h127.0.0.1会出错,提示找不到sock套接字文件,他会去/tmp目录找(我也不清楚咋回事,有了解的求评论告知)

加上ip后可以正常登录。
密码为初始化步骤时候记下的密码。

修改密码

ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘123456’;

刷新权限

flush privileges;

设置远程登陆,客户端连接

use mysql

update user set user.Host='%'where user.User=‘root’;

flush privileges;

开启服务器外部端口,就可以使用客户端链接了,开启端口命令为

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

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

firewall-cmd --reload

  • 12
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要在Linux系统上安装MySQL 8.0,可以按照以下步骤操作: 1. 打开终端,并以root用户身份登录。 2. 使用以下命令更新系统软件包:`sudo apt-get update`。 3. 安装MySQL 8.0服务器:`sudo apt-get install mysql-server`。 4. 在安装过程中,您将被要求设置MySQL root用户的密码。设置密码并记住它。 5. 安装完成后,使用以下命令启动MySQL服务器:`sudo systemctl start mysql`。 6. 如果需要,您可以使用以下命令停止MySQL服务器:`sudo systemctl stop mysql`。 7. 若要确保MySQL服务器在系统启动时自动启动,请运行以下命令:`sudo systemctl enable mysql`。 安装完成后,您可以使用MySQL客户端连接到MySQL服务器,创建数据库和表,以及执行各种其他操作。 ### 回答2: MySQL是一个广泛使用的开源关系型数据库管理系统,它为各种大小的数据库提供高效、快速和可靠的解决方案。在本文中,我们将为大家介绍如何在Linux系统中安装MySQL 8.0数据库。 步骤一:更新系统和软件包 在安装MySQL之前,我们应该先更新我们的系统和软件包,以确保系统拥有最新的版本和补丁。 我们可以在终端中输入以下命令来更新系统和软件包: sudo apt-get update sudo apt-get upgrade 步骤二:添加MySQL软件仓库 我们需要通过添加MySQL的官方软件仓库来获取最新的MySQL 8.0安装包。 首先,我们需要下载MySQL APT存储库配置包。我们可以通过以下命令在终端中下载: wget https://dev.mysql.com/get/mysql-apt-config_0.8.17-1_all.deb 然后,我们可以通过以下命令将该文件安装到我们的系统中: sudo dpkg -i mysql-apt-config_0.8.17-1_all.deb 遇到提示时,选择MySQL Server和MySQL Tools并继续安装。 步骤三:安装MySQL 我们可以使用以下命令在终端中安装MySQL 8.0: sudo apt-get update sudo apt-get install mysql-server 在安装过程中,会提示我们设置管理员密码。在设置密码后,MySQL将自动启动,并在系统中注册为系统服务。 步骤四:管理MySQL服务 安装MySQL后,我们可以使用以下命令来管理MySQL服务: 启动MySQL服务: sudo systemctl start mysql 停止MySQL服务: sudo systemctl stop mysql 重启MySQL服务: sudo systemctl restart mysql 检查MySQL服务状态: sudo systemctl status mysql 步骤五:连接和使用MySQL 我们可以使用以下命令连接MySQL服务器: mysql -u root -p 输入管理员密码后,我们就可以开始使用MySQL了。 总结 在Linux系统中安装MySQL 8.0非常简单,以下是安装的大体步骤: 1. 更新系统和软件包 2. 添加MySQL软件仓库 3. 安装MySQL 4. 管理MySQL服务 5. 连接和使用MySQL 通过以上步骤,你可以轻松地在你的Linux服务器上安装和使用MySQL 8.0,为你的应用程序提供高效和可靠的数据库服务。 ### 回答3: MySQL是一种开源的关系型数据库管理系统,常见于Web应用程序的数据存储和检索。Linux系统为MySQL提供了许多方便的安装和配置方法,其中最常用的一种是使用yum软件安装源。 1. 安装yum源 首先需要安装MySQL的yum源。根据官方提示,到MySQL官网下载mysql80-community-release-el8-1.noarch.rpm文件,进入下载目录执行以下命令安装: sudo rpm -ivh mysql80-community-release-el8-1.noarch.rpm 2. 安装MySQL 执行以下命令来安装MySQL: sudo yum install mysql-community-server 3. 启动MySQL服务 执行以下命令启动MySQL服务: sudo systemctl start mysqld.service 4. 设置MySQL系统启动开机自启动 执行以下命令将MySQL设为系统启动时自动启动: sudo systemctl enable mysqld.service 5. 查看MySQL默认root用户密码 通过以下命令可查看MySQL默认root用户的密码: sudo grep 'temporary password' /var/log/mysqld.log 从日志中获取到密码,使用以下命令进行登录: mysql -u root -p 6. 修改root用户密码 使用以下命令修改root用户密码: ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword'; 注:NewPassowrd为自己设定的新密码 7. 设置数据库 使用以下语句创建一个新的数据库mysql> CREATE DATABASE mydatabase; 8. 创建新用户 使用以下语句来创建一个新用户,并对其授权: mysql> CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password'; mysql> GRANT ALL PRIVILEGES ON mydatabase.* TO 'newuser'@'localhost'; mysql> FLUSH PRIVILEGES; 注:newuser及password是自己设定的用户名和密码。 9. 使更改生效 使用以下命令使更改生效: mysql> exit; sudo systemctl restart mysqld.service 至此,MySQL 8.0已经成功安装在您的Linux系统上,您可以使用新用户的身份登录并管理您的数据库
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值