写在前面
不瞒你们说,这个数据库创建我可是对比了好几种方式呢,我也使用好几种方式安装了,但要想要的是一个服务器上搭建两个数据库实例,很多文档都不支持我,为了避免像我一样的小朋友,跟着很多文档,一步步走到最后发现很多坑又去解决,浪费了很多时间,浪费了很多精力、浪费了很多脑力、脑子都要炸了,头发都要秃了,如果你是小男孩你说你不怕头发秃,你可以先看看别人的文章,去思考吧。我整理文档的初衷是帮助和我一样的小女孩,或者势力保护自己头发的小男孩,跟着文档轻轻松松搭建好数据库,如果你觉得恨得不错,可以关注我呦~
环境说明
服务器:CentOS7
数据库:MySQL5.7.25
安装方式tar源码包
安装mysql
安装包自己去官网下载吧,我是之前自己保存的,就不需要下载了
- 解压安装包:
tar -zxvf mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz
- 更改解压后的名称:
mv mysql-5.7.25-linux-glibc2.12-x86_64 mysql5.7.25
-
现在配置两个mysql实例
解压完成这个为mysql服务,
创建两个实例的文件夹
我这里定义端口为3306和3307,文件夹直接按端口命名 -
创建一些必要文件夹
先创建3306文件夹,一并创建data、logs两个文件夹用于存放数据和日志 -
复制my.cnf配置文件
进入etc目录,查找有没有my.cnf文件,有的话你
用命令:cp /etc/my.cnf my.cnf
复制到mysql3306文件下,
我这里没有我来创建一个,使用:touch my.cnf
如果你说你新建的和默认的不一样,不用担心,我这里给你一个默认的,你可以直接在上面进行修改,使用vim my.cnf,进入之后输入大写A进行编辑,将以下内容复制的你的空文件中,有默认的就当我啥也没说,哈哈
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
[mysqld]
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
- 修改配置文件中默认路径
替换成你自己的路径,使用:wq进行保存
- 3306数据库目录
这时3306的目录如一下所示
- 给3307实例也拷贝一份
将3306目录拷贝一份,为3307
cp -r mysql3306/ mysql3307/
- 修改3307数据库配置文件
使用vim my.cnf打开文件之后使用:
:%s/3306/3307/g 命令将全局的3306更改为3307
初始化mysql3306
进入之前解压后的mysql文件夹的bin目录输入以下命令:
- 开始初始化mysql3306
my.cnf,data,数据库目录都改为自己的呦
./mysqld --defaults-file=/usr/local/soft/mysql/mysql3306/my.cnf --initialize --datadir=/usr/local/soft/mysql/mysql3306/data/ --basedir=/usr/local/soft/mysql/mysql5-7.25 --user=root
下面框出来的是初始化之后的默认密码
- 现在启动mysql3306
这里是跳过密码安全连接的呢
./mysqld_safe --defaults-extra-file=/usr/local/soft/mysql/mysql3306/my.cnf --skip-grant-tables &
- 查看运行状态
这时3306mysql已启动成功,使用以下命令查看运行状态:
ps -ef|grep 3306
- 连接mysql3306:
./mysql -S /usr/local/soft/mysql/mysql3306/data//mysql.sock -P 3306
- 密码修改以及授权远程访问
这样就连接成功了
依次输入以下命令进行密码的更改并授权远程访问
flush privileges;
set password for 'root'@'localhost' = password('root');
grant all privileges on *.* to'root' @'%' identified by 'root' with grant option;
flush privileges;
- 本地连接测试
完成之后测试本地连接,成功
mysql3307同理操作就行
命令如下
mysql3307也连接成功
就是这些了,看到这里两个数据库实例就创建连接成功了,如果你你你,还没有,还没有搭建成功,还是遇到错误,请不要慌张,先百度进行查询你的问题,实在不行,你还可以,你还可以在评论区留言,我看见了一定会回复的
如果你害怕我看不到,那只有这样了,看下面
首要可加我微信、如果你害羞的话还可以加我的微信群(我还是很想让你关注我公众号的)
二维码都贴在下面了,你看着办吧