• Unreal is funny !!!

在centos7 中安装两个mysql

mysql 站长 4年前 (2020-12-27) 1303次浏览 已收录 0个评论

碰到的问题

今天我需要在云主机上安装一个软件,这个软件只支持 mysql 5.7+ ,但是我的云主机上已经安装了一个 mysql8 了,怎么再装一个mysql 5.7并监听再 3309端口 呢。
参考博客:https://blog.csdn.net/u010898329/article/details/83064373

1,初步安装

https://dev.mysql.com/downloads/mysql/5.7.html#downloads
解压 到/opt 下 并cd

cd /opt/mysql-5.7.32-linux-glibc2.12-x86_64
在当前目录创建 data, var , etc 目录

2, 配置文件

在 /opt/mysql-5.7.32-linux-glibc2.12-x86_64/etc 下创建my.cnf ,指定端口和目录信息,

[mysqld]
# skip-grant-tables
basedir= /opt/mysql-5.7.32-linux-glibc2.12-x86_64
datadir = /opt/mysql-5.7.32-linux-glibc2.12-x86_64/data
port = 3308
socket = /opt/mysql-5.7.32-linux-glibc2.12-x86_64/mysql.sock
default-storage-engine=INNODB
character_set_server=utf8mb4
innodb_default_row_format=DYNAMIC
innodb_large_prefix=ON
innodb_file_format=Barracuda
innodb_log_file_size=2G

transaction-isolation=READ-COMMITTED
binlog_format=row

max_allowed_packet = 256M

[client]
socket = /opt/mysql-5.7.32-linux-glibc2.12-x86_64/mysql.sock

#不区分大小写
lower_case_table_names = 1

4,初始化

初始化mysql ,记录下当前产生的密码
./bin/mysqld –defaults-file=/opt/mysql-5.7.32-linux-glibc2.12-x86_64/etc/my.cnf –initialize –user=mysql &
启动,只运行 mysqld_safe 即可启动mysql
/opt/mysql-5.7.32-linux-glibc2.12-x86_64/bin/mysqld_safe –defaults-file=/opt/mysql-5.7.32-linux-glibc2.12-x86_64/etc/my.cnf –user=mysql &

5,发生权限错误的处理

今天晚上,突然用 root登录mysql,能登录成功,但是创建数据库 会显示无权限,在网上找了很多资料查找均失败,比如 以–skip-grant-tables重启,发现root 没有更改权限的权限
/opt/mysql-5.7.32-linux-glibc2.12-x86_64/bin/mysqld_safe –defaults-file=/opt/mysql-5.7.32-linux-glibc2.12-x86_64/etc/my.cnf –user=mysql –skip-grant-tables &
不得不吐槽一下,mysql的用户权限管理这一块真是s一样的逻辑。

最终参考: https://stackoverflow.com/questions/1712806/how-to-get-all-privileges-back-to-the-root-user-in-mysql 中 cyb0k 的答案,删除全部root用户,重新插入新的拥有所有权限的root用户。
先删除msyql.user表的所有root用户,
insert into `user` VALUES(‘localhost’,’root’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,”,”,”,”,0,0,0,0,’mysql_native_password’,’*fsdaffdsfdasfdasfadsfasdf’,’N’,’2020-12-27 17:43:16′,NULL,’N’);
插入后
./bin/mysql –socket=/opt/mysql-5.7.32-linux-glibc2.12-x86_64/mysql.sock –port=3308 -uroot -p 即可登录成功。


本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:在centos7 中安装两个mysql
喜欢 (21)
[]
分享 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址