一台linux主机启动多个MySQL数据库的方法

今天来说下一台Linux主机如何启动4个MySQL数据库:

1.要确定你的机器上面已经安装MySQL,我的MySQL在/usr/loacl/ 下面:

cd /usr/local/mysql-5.7.18/
ll

2.进入/usr/loacl/data文件夹(没有自行创建),在data下分别创建四个文件夹,如 : 3307 3308 3309 3310:

mkdir data
cd data
mkdir 3307
mkdir 3308
mkdir 3309
mkdir 3310

3.在/usr/loacl/mysql-5.7.18/bin/下初始化数据库,指定到这四个文件夹:

./mysqld --initialize-insecure --basedir=/usr/local/mysql-5.7.18 --datadir=/usr/local/mysql-5.7.18/data/3307 --user=mysql
./mysqld --initialize-insecure --basedir=/usr/local/mysql-5.7.18 --datadir=/usr/local/mysql-5.7.18/data/3308 --user=mysql
./mysqld --initialize-insecure --basedir=/usr/local/mysql-5.7.18 --datadir=/usr/local/mysql-5.7.18/data/3309 --user=mysql
./mysqld --initialize-insecure --basedir=/usr/local/mysql-5.7.18 --datadir=/usr/local/mysql-5.7.18/data/3310 --user=mysql

其中initialize-insecure表示不生成mysql数据库root用户随机密码,即root密码为空

4.在3307 3308 3309 3310下分辨创建一个名为my.cof的文件,并插入配置内容,注意是每个文件夹下都创建:

cd /usr/local/mysql-5.7.18/data/3307/
mkdir my.conf
vim my.cof
***插入下面内容***
[client]
port  = 3307
socker  = /usr/local/mysql-5.7.18/data/3307/mysql.sock
default-character-set=utf-8

[mysqld]
port  = 3307
socker  = /usr/local/mysql-5.7.18/data/3307/mysql.sock
datadir  = /usr/local/mysql-5.7.18/data/3307
log-error  = /usr/local/mysql-5.7.18/data/3307/error.log
pid-file  = /usr/local/mysql-5.7.18/data/3307/mysql.pid

character-set-server=utf8
lower_case_table_names=1
autocommit=1

每个配置文件中的文件夹名自行修改,这里不做赘述。

port:端口号 3307

socker:IP和port

datadir:数据路径

log-error:错误文件文位置

pid-file :pid文件位置

character-set-server :字符集

lower_case_table_names:是否忽略表大小写 1为忽略

autocommit:自动提交 1为是

5.启动测试:

cd /usr/loacl/mysql-5.7.18/bin/
./mysql_safe --defaults-file=/usr/loacl/mysql-5.7.18/data/3307/my.cnf &
./mysql_safe --defaults-file=/usr/loacl/mysql-5.7.18/data/3308/my.cnf &
./mysql_safe --defaults-file=/usr/loacl/mysql-5.7.18/data/3309/my.cnf &
./mysql_safe --defaults-file=/usr/loacl/mysql-5.7.18/data/3310/my.cnf &

其中 --defaults-file是指定配置文件,&表示后台启动

查询一下:

6.登陆:

./mysql -uroot -p -P3307 -h127.0.0.1 #注意在/usr/loacl/mysql-5.7.18/bin下执行

7.可以修改root密码:

alter user 'root'@'localhost' identified by 'xxx';

想要在用户界面远程登陆需要配置:

grant all privileges on *.* to root@'%' identified by 'xxx';

*.* : 其中第一个*表示所有数据库名,第二个*表示所有的数据库表

root@'%':root表示用户名,%表示ip地址,可以具体到某个ip 如:root@127.0.0.1

然后执行权限刷新:

flush privileges;

可以逐个数据库试一下 ^ _ ^。。

到此这篇关于一台linux主机启动多个MySQL数据库的方法的文章就介绍到这了,更多相关linux启动多个MySQL内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Linux如何使用 MyCat 实现 MySQL 主从读写分离

    目录 Linux-使用 MyCat 实现 MySQL 主从读写分离 一.MySQL 读写分离 1.MySQL 读写分离的概述 2.读写分离工作原理 3.为什么要读写分离 3.实现读写分离的方式 4.常见的中间件程序 二.MyCAT简述 1.什么是 MyCAT 2.MyCat 服务安装与配置 三.MyCat 服务启动与启动设置 四.配置 MySQL 主从 五.实战节点宕机后自动切换 Slave 节点 1.mycat 配置文件优化调整 2.停主节点: 3.恢复主节点: Linux-使用 MyCat

  • linux mysql5.5升级至mysql5.7的步骤与踩到的坑

    linux mysql5.5升级至mysql5.7 下面先分享一个简单的升级mysql的步骤,后面我们小编为大家整理了多个补充,大家可以参考一下. 1.下载mysql5.7.32 官方下载地址 https://dev.mysql.com/downloads/mysql/ 解压 tar xvf mysql.tar.gz mysql/ 2. 进入旧的mysql的bin目录下导出mysql的数据 ./mysql -uroot -pxxxx -h127.0.0.1 -P3306 </home/mysql

  • linux下利用Docker安装mysql的步骤

    作为一个测试人员,在学习的过程中,可能经常需要去在linux下安装一些软件,有的软件通过搜索别人的博客教程进行安装的话,随着一些软件的升级,以及虚拟机/服务器镜像版本不一致等外部因素,都有可能导致安装软件出现各种不可预知的问题,到时候还得去搜索资料逐一解决问题,挺耽误时间的. 而且,像linux下这些软件的安装,一般都是运维的事情,测试作为学习使用的话,安装好一个mysql数据库用于学习使用就行,新手不建议在linux下下载源码去安装软件,容易出问题. 接下来为大家演示一下,如何通过docker

  • 解决Linux安装mysql 在/etc下没有my.cnf的问题

    今天因为想改mysql的端口,结果发现我的/etc/目录下并没有my.cnf这个文件,我就看了下网上有没有解决的方法. 看了好多关于Linux下没有my.cnf的博客,都是说将my-medium.cnf 移动到etc 并且改名为my.cnf,但是我也没有my-medium.cnf 啊,后面才知道,从5.7.18开始官方不再二进制包中提供my-default.cnf文件. 具体可参考:https://dev.mysql.com/doc/refman/5.7/en/binary-installati

  • 在Ubuntu/Linux环境下使用MySQL开放/修改3306端口和开放访问权限

    操作系统:Ubuntu 17.04 64位 MySQL版本:MySQL 5.7 一.查看3306端口是否开放 netstat -an|grep 3306 如果看到下图这样的,说明端口并未打开: 二.修改访问权限 进入目录"etc/mysql/mysql.conf.d/",如下图所示: 在这个目录下,有一个配置文件"mysqld.cnf",如下图所示: 打开这个配置文件: sudo vim mysqld.cnf 文件打开后有一大段注释说明,不用去管它,直接看到下图中的

  • Aliyun Linux 编译安装 php7.3 tengine2.3.2 mysql8.0 redis5的过程详解

    介绍 之前写过 CentOS 安装 PHP,MySQL,Nginx 的相关文章,具体介绍这里就不写了,直接上操作步骤. 安装 Tengine 1. 安装必要的编译环境 yum update yum install gcc gcc-c++ autoconf automake 2. 安装需要的组件 PCRE PCRE(Perl Compatible Regular Expressions) http://www.pcre.org 是一个Perl库,包括 perl 兼容的正则表达式库.nginx re

  • Mysql如何在linux中实现定时备份

    在实际项目中,数据库是要经常备份的,就是为了防止突发情况,前段时间,我的数据库就遭遇了入侵要支付B特比的,结果数据全没了,哎,还好当时只是个测试库,不过有了这次危机,也就开始意识到了这个问题了. 先写个测试的数据库备份命令: #!/bin/sh DB_USER="root" DB_PASS="1234" DB_DATA_NAME="hzl" BakDir="/data/mysql-data-back" echo "/

  • Linux MySQL忘记root密码解决方案

    在使用MySQL数据库时,由于某些原因长时间没有登陆MySQL,或者由于工作交接完成度不高,导致数据库root登陆密码忘记,如何解决? 一.更改my.cnf配置文件 1.用命令编辑/etc/my.cnf配置文件,即:vim /etc/my.cnf 或者 vi /etc/my.cnf 或者 nano /etc/my.cnf 2.在[mysqld]下添加skip-grant-tables,然后保存并退出 3.重启mysql服务:service mysqld restart 二.更改root用户名 1

  • Linux下mysql 8.0.25 安装配置方法图文教程

    Linux 安装 Mysql8.0.25最新教程,供大家参考,具体内容如下 自己在服务器上安装MySQL,搜集了很多材料,但是大多时间都比较久了,最新的下载安装方式有很多不一样的地方,也踩了很多坑,于是整理了一下自己全部的安装过程,大家可以借鉴一下. 下载 在线安装 wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.25-linux-glibc2.12-x86_64.tar.xz 离线安装 先去官方网站下载安装文件, 最新的

  • MySQL定时备份方案(利用Linux crontab)

    前言 虽说现在这世道有些爱情是有价的,但是数据是无价的,数据备份是尤为的重要,可以在你未来的某一天不小心删库了,不用着急跑路. 本片文章介绍的方案是利用Linux自身的crontab定时任务功能,定时执行备份数据库的脚本. 技术要点: 数据库备份dump命令 shell脚本 Linux定时任务crontab 数据备份dump 数据库都有一个导出数据库内数据和结构的命令,就是备份. 将备份的数据还原会将原来的数据中的表删了重建,再插入备份中的数据,这是恢复. 这一点需要注意,如果恢复之前的数据比备

  • Linux下MySQL多实例部署及安装指南

    什么是MySQL多实例 简单地说,Mysql多实例就是在一台服务器上同时开启多个不同的服务端口(3306.3307),同时运行多个Mysql服务进程,这些服务进程通过不同的socket监听不同的服务端口来提供服务. 这些Mysql多实例公用一套Mysql安装程序,使用不同的my.cnf(也可以相同)配置文件,启动程序(也可以相同)和数据文件.在提供服务时,多实例 Mysql在逻辑上看来是各自独立的,它们根据配置文件的对应设定值,获得服务器相应数量的硬件资源. 打个比方,Mysql多实例就相当于房

  • Linux mysql-5.6如何实现重置root密码

    1. 检查mysql服务是否启动,如果启动,关闭mysql服务 运行命令:ps -ef | grep -i mysql 如果开着就运行关闭的命令:service mysqld stop 2.修改mysql的配置文件my.conf 一般在/etc目录下,运行命令:vi /etc/my.cnf,编辑文件 在文件的[mysqld]标签下添加一句:skip-grant-tables 然后wq!保存退出. 3.重启数据库 运行命令:service mysqld start 4.重启数据库 运行命令:ser

  • linux环境下安装mysql数据库的详细教程

    1.安装数据库 1)yum -y install mysql-server(简单) yum命令自动从网上寻找mysql服务资源,下载至本地并完成安装 2)也可以自己在网上下载mysql服务,通过xftp传输至Linux系统,自己安装(一般安装在usr或opt目录下) 2.启动数据库 安装完毕,执行命令service mysqld start 3.登录数据库 mysql -u root -p回车后输入密码(mysql的默认用户是root,密码为空) 4.使用数据库 登录成功切换到mysql数据库,

  • Linux下安装mysql-8.0.20的教程详解

    ** Linux下安装mysql-8.0.20 ** 环境介绍 操作系统:CentOS 7 mysql下载地址:https://dev.mysql.com/downloads/mysql/ 下载版本:https://www.jb51.net/softs/609101.html https://www.jb51.net/softs/609101.html 卸载mysql 查看是否安装过mysql,命令:find / -name mysql 如果安装过,进行卸载: 删除相关目录: 删除配置文件: 删

  • Linux手动部署远程的mysql数据库的方法详解

    一.安装mysql 运行以下命令更新YUM源. rpm -Uvh  http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm 运行以下命令安装MySQL. yum -y install mysql-community-server 运行以下命令查看MySQL版本号. mysql -V 返回结果如下,表示MySQL安装成功. mysql  Ver 14.14 Distrib 5.7.31, for Linux (x86_

  • Linux下mysql异地自动备份的方法

    前言: 基本上不管是对于我们自己使用,还是给客户部署服务器,,mysql备份都是必不可少的一部分,这里给大家分享一下我是如何实现linux上做异地自动备份的. mysql_backup.sh 用于备份数据 mysql_restore.sh 用于恢复数据 remove_backup.sh 用于删除一段时间以前的备份文件 一.数据备份准备 1.1创建备份目录 注:这里我是吧备份文件放在/data/backup/mysql下面,把脚本放在 /data/backup 下面 些创建一个文件夹(如果创建过请

  • linux使用mysqldump+expect+crontab实现mysql周期冷备份思路详解

    一.遇到的问题 我们使用过mysqldump都知道,使用该命令后,需要我们手动输入 mysql的密码,那么我们就不能够直接在crontab中使用mysqldump实现周期备份.其实我们可以使用expect脚本自动输入密码,从而实现真正的周期备份.如果你不知道什么是expect,建议先请看这篇文章:https://blog.csdn.net/lendsomething/article/details/109066545 二.思路 创建一个utils文件,里面存放shell脚本,包括mysqldum

随机推荐