当前位置: 首页 > news >正文

一台服务器安装两个mysql、重置数据库用于测试使用

文章目录

  • 一、切数据库数据存储文件夹
    • 已经存在数据库数据文件夹
    • 新建数据库数据文件夹
  • 二、安装第二个mysql
    • 安装新数据库
    • 初始化数据库数据
    • 启动数据库
    • 关闭数据库
  • 三、mysqld_multi单机多实例部署
  • 参考文档

一、切数据库数据存储文件夹

  • 这个方法可以让你不用安装新的数据库,就可以得到一个全新的一个数据库
  • 缺点:原来的数据库被暂停使用
  • 优点:数据切换速度快

已经存在数据库数据文件夹

  • 更改mysql配置文件
vim /etc/my.cnf

在这里插入图片描述

  • 重启mysql
service mysqld restart

新建数据库数据文件夹

  • 使用data02为新的存储数据的地方
mkdir /usr/mysql/mysql-5.7.19/data02
  • 配置文件的datadir参数也更改成这个文件夹
vim /etc/my.cnf

在这里插入图片描述

  • 对数据库进行初始化
/usr/mysql/mysql-5.7.19/bin/mysqld --defaults-file=/etc/my-test.cnf --basedir=/usr/mysql/mysql-5.7.19 --datadir=/usr/mysql/mysql-5.7.19/data02/ --user=mysql --initialize
  • 查看初始化密码
tail -10 /usr/mysql/mysql-5.7.19/mysql.err
  • 重启数据库
service mysqld restart
  • 登录,密码输入初始化密码,上面保存的
mysql -u root -p
  • 修改密码
SET PASSWORD = PASSWORD('1111');
  • 更改账号使用的ip范围,%表示全部ip都能使用该账号
use mysql
update user set host = '%' where user = 'root';
  • 授权
GRANT ALL PRIVILEGES ON *.* TO root@"%";
  • 查询账号密码
select host, user from user;
  • 刷新权限
flush privileges;

二、安装第二个mysql

安装新数据库

  • 复制原来的mysql(可取,不建议),但是不能把数据库数据一起复制过去(不然很废服务器存储节点,而且复制速度可能变得很慢)
cp -r mysql-5.7.19 mysql-5.7.19-test
  • 用mysql解压包解压(建议,不会有冗余的数据)
tar -zvxf mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.19-linux-glibc2.12-x86_64 mysql-5.7.19-test
  • 复制一份和第一个mysql相似的配置文件
cp /etc/my.cnf /etc/my-test.cnf
  • 修改配置文件,有6个参数需要修改
vim /etc/my-test.cnf

在这里插入图片描述
在这里插入图片描述

初始化数据库数据

  • 创建存储数据的文件夹
mkdir /usr/mysql/mysql-5.7.19-test/data
  • 给mysql用户授权新创建的文件夹
chown mysql:mysql -R /usr/mysql/mysql-5.7.19-test
  • 对数据库进行初始化
/usr/mysql/mysql-5.7.19-test/bin/mysqld --defaults-file=/etc/my-test.cnf --basedir=/usr/mysql/mysql-5.7.19-test --datadir=/usr/mysql/mysql-5.7.19-test/data/ --user=mysql --initialize
  • 查看初始化密码
tail -10 /usr/mysql/mysql-5.7.19-test/mysql.err

启动数据库

  • 使用mysqld_safe启动
/usr/mysql/mysql-5.7.19-test/bin/mysqld_safe --defaults-file=/etc/my-test.cnf &
  • 登录,密码输入初始化密码,上面保存的
mysql -S /tmp/mysql-test.sock -u root -p
  • 修改密码
SET PASSWORD = PASSWORD('1111');
  • 更改账号使用的ip范围,%表示全部ip都能使用该账号
use mysql
update user set host = '%' where user = 'root';
  • 授权
GRANT ALL PRIVILEGES ON *.* TO root@"%";
  • 查询账号密码
select host, user from user;
  • 刷新权限
flush privileges;

关闭数据库

/usr/mysql/mysql-5.7.19-test/bin/mysqladmin -S /tmp/mysql-test.sock -u root shutdown -p

三、mysqld_multi单机多实例部署

  • MySQL 单机多实例部署 多配置文件 mysqld_multi 两种方案

参考文档

  • 【Mysql】Linux环境下安装多个mysql
  • MySQL–mysqld、mysql_safe、mysql.server、mysqladmin几种启动和停止服务使用说明
http://www.lryc.cn/news/215500.html

相关文章:

  • JS动态转盘可手动设置份数与概率(详细介绍)
  • 在k8s中,etcd有什么作用?
  • conda配置虚拟环境相关记录
  • 数据库的本质永远都不会改变基础语句(第二十二课)
  • Object转List<>,转List<Map<>>
  • React使用富文本CKEditor 5,上传图片并可设置大小
  • 【工具使用】批量修改文件夹的时间操作
  • Android Snackbar
  • 详解API接口如何安全的传输数据(内附商品详情API接口接入方式)
  • 网工内推 | 大专以上,福利待遇好,IE认证优先(云厂商)
  • Python time strptime()和strftime()
  • 是谁家班主任还不知道 怎么发布期中成绩啊。
  • 损失函数(Loss Function)一文详解-聚类问题常见损失函数Python代码实现+计算原理解析
  • 测试用例设计方法 —— 场景法详解
  • el-table表格设置——动态修改表头
  • 京东数据分析:2023年9月京东洗地机行业品牌销售排行榜
  • 使用 TensorFlow SSD 网络进行对象检测
  • (2)STM32单片机上位机
  • 从InnoDB索引的数据结构,去理解索引
  • Nacos:动态服务发现与配置管理的终极解决方案
  • 易思无人值守智能物流系统Sys_ReportFile文件上传漏洞复现
  • java Map List转化,通过Map保存数据,通过List排序。取前三名
  • LEECODE 1480一维数组的动态和
  • python文档链接
  • HTTP调试代理工具/Proxyman
  • 搭建Qt5.7.1+kylinV10开发环境、运行环境
  • Ceph:关于Ceph 中创建和管理自定义 CRUSH Map
  • 【Linux】开发工具——vim多模式编辑器的入土设置sudoers白名单
  • Linux基础环境开发工具的使用(yum,vim,gcc,g++)
  • 加速软件开发和交付的革命性方法-DevOps