亲测实践linux系统,安装多个mysql服务

这篇博客详细记录了如何在已有MySQL服务的Linux服务器上安装并配置一个新的MySQL5.7服务,包括下载安装包、初始化数据目录、设置配置文件、启动新服务以及修改默认密码和设置远程访问。通过指定不同的端口、数据目录和配置文件,成功实现了两个MySQL服务的共存。
摘要由CSDN通过智能技术生成

当你的服务器已经存在一个mysql服务,并且与你想要安装的MySQL服务是冲突的,该怎么办呢?我今天刚好也遇到了,目前系统的数据库服务MySQL8,而业务系统需要一台mysql5.7的。下面是我的笔记。

1.首先是在mysql官网找到mysql对应的版本,像图片一样选择,linux通用版的mysql服务

链接地址
图片参考

2.下载完成后,利用winscp或者xftp上传到linux系统

3.到linux服务器解压需mysql tar包 到指定的文件夹,如果不加-C参数 那就是默认当前文件夹

参考图片

4.复制一份已经存在my.conf文件,到新数据库的文件夹下,这个新的my.conf就是新数据库的启动文件,如果不存在那可以自己创建一个my.conf文件

图片参考

这几项配置是启动所必须的,其他的可以按照自己的需求配置

port=3307
datadir=/home/dztst/dz-xny-ftt/mysql/mysql-5.7.33/data
socket=/home/dztst/dz-xny-ftt/mysql/mysql-5.7.33/mysql.sock
log-error=/home/dztst/dz-xny-ftt/mysql/mysql-5.7.33/log/mysqld.log
pid-file=/home/dztst/dz-xny-ftt/mysql/mysql-5.7.33/mysqld.pid

5.初始化目录

注意:data,log,socket,pidfile这些文件都要创建,避免初始化失败,穿件的路径就是my.conf指定的路径
5.1切换到src目录下后,到bin中执行初始化语句

bin/mysqld 
--defaults-file=/home/dztst/dz-xny-ftt/mysql/mysql-5.7.33/my.cnf 
--initialize --user=mysql 
--basedir=/home/dztst/dz-xny-ftt/mysql/mysql-5.7.33 
--datadir=/home/dztst/dz-xny-ftt/mysql/mysql-5.7.33/data 
--explicit_defaults_for_timestamp=true

首先–defaults-file这个参数必须放在第一个否则会无法识别这个参数,否则启动的时候会报错.
–initialize 这个参数会给root生成一个默认密码,如果用–initialize-insecure这个参数则不会生成root密码,如果你没有在初始化的时候生成密码 mysql重置root密码
–user=mysql 这个参数是指定所属用户
–explicit_defaults_for_timestamp 这个参数与字段类型有关5.6以后就有了 设置成1就行了要不然会有个警告。配置文件中加入explicit_defaults_for_timestamp=true效果一样
其他参数一看就明白的,不用说了。

6.初始化成功后,需要查看初始化的默认密码

cat 自定义的log文件 |(管道符) grep(分组) password 分组的依据

cat /home/dztst/dz-xny-ftt/mysql/mysql-5.7.33/log/mysqld.log | grep password

7.启动新的数据库服务

./bin/mysqld_safe 
--defaults-file=/home/dztst/dz-xny-ftt/mysql/mysql-5.7.33/my.cnf 
--basedir=/home/dztst/dz-xny-ftt/mysql/mysql-5.7.33 
--datadir=/home/dztst/dz-xny-ftt/mysql/mysql-5.7.33/data  & 

这里呢,就是执行mysqld_safe这个文件并且指定一些基本参数,datadir和basedir其实是可以不用指定的,我们只需要指定的是my.cnf 的路径,不然就是默认的my.conf文件启动,那样是不会成功的。最重要的是一定要指定自己的my.conf

8.查询服务是否启动成功并且登陆自己的mysql

图片参考可以看到,自己的mysql和别人的mysql服务都已正常启动,接下来就是修改密码,并且设置远程登陆

9.连接数据库

启动mysql文件并且指定ip,端口,密码

/home/dztst/dz-xny-ftt/mysql/mysql-5.7.33/bin/mysql -h127.0.0.1 -uroot -P3300 -p

登陆后需要马上修改密码,不然执行任何操作都会提示

mysql> use mysql;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

10.修改密码

alter user ‘root’@‘localhost’ identified by ‘新密码’;

如果先执行修改简单密码报错,mysql5.7不会报错,那就会提示这个错误,报错的意思就是你的密码不符合要求
这个其实与validate_password_policy的值有关。
validate_password_policy有以下取值:
在这里插入图片描述
默认是1,即MEDIUM,所以刚开始设置的密码必须符合长度,且必须含有数字,小写或大写字母,特殊字符。
有时候,只是为了自己测试,不想密码设置得那么复杂,譬如说,我只想设置root的密码为123456。
修改两个全局参数:

首先,修改validate_password_policy参数的值

mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.00 sec)

validate_password_length(密码长度)参数默认为8,我们修改为1

mysql> set global validate_password_length=1;
Query OK, 0 rows affected (0.00 sec)

11.设置远程连接

mysql>use mysql;
msyql>update user set user.Host=’%’ where user.User=‘root’;
mysql>flush privileges;

所有操作就结束了,如还有疑问请私信我呀!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值