Ubuntu20.04安装mysql5.7并修改文件表保存路径

问题描述

提示:这里描述具体问题:
在ubutnu下面安装mysql,有的时候我们只是需要保存数据表,跟系统没有关系,或者系统挂了数据依然存在,而不会因为系统挂了而导致数据丢失。

解决方案:

提示:这里填写该问题的具体解决方案:

具体步骤:
第一:卸载Ubuntu20.04相关的mysql依赖
1)查看当前所有mysql相关的软件

dpkg -l | grep mysql

在这里插入图片描述
2)当前只有一个mysql相关软件,然后输入删除命令

sudo apt autoremove --purge mysql-apt-config

3)删除系统所有mysql相关软件,在用命令查看是否卸载干净。

dpkg -l | grep mysql

第二:增加mysql5.7的源
1)保存之前的软件源,以便后续出错恢复。

sudo cp /etc/apt/sources.list /etc/apt/sources.list.old 

2)增加软件源,打开/etc/apt/sources.list,在文件末尾增加如下代码。

sudo vim /etc/apt/sources.list 
# 清华镜像源
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse

3)更新软件源和软件

# 更新镜像源
sudo apt-get update

# 更新软件
sudo apt-get upgrade

第三:安装mysql5.7
1)安装,在安装过程中需要输入mysql的root密码(两遍)

 sudo apt-get install mysql-server-5.7

2)检查是否安装成功

 mysql -uroot -p

这个名需要输入刚才填写mysql的密码
在这里插入图片描述
也可以用ps查看

 ps -aux | grep mysql

在这里插入图片描述

第四:换数据表保存目录
1)创建保存文件目录

mkdir mysql5.7

2)把默认安装的Mysql数据库文件复制到/opt/mysql/mysql5.7中并设置权限

sudo cp -R /var/lib/mysql/* /opt/mysql/mysql5.7
cd /opt
sudo chown -R mysql:mysql /mysql

3)修改/etc/mysql/mysql.conf.d/mysqld.cnf 文件和修改启动文件

vim /etc/mysql/mysql.conf.d/mysqld.cnf

#修改datadir=/var/lib/mysql 为你需要修改的目录 这里是 datadir=/opt/mysql/mysql5.7
vim /etc/apparmor/usr.sbin.mysqld

将
/var/lib/mysql/ r,
/var/lib/mysql/** rwk,

修改为

/opt/mysql/mysql5.7/ r,
/opt/mysql/mysql5.7/** rwk,

4)删除日志 (不删除可能会报错)

rm -rf /opt/mysql/mysql5.7/ib_logfile0
rm -rf /opt/mysql/mysql5.7/ib_logfile1

5)重启MySQL

sudo /etc/init.d/apparmor restart
sudo /etc/init.d/mysql restart

6)验证目录

sudo /etc/init.d/mysql status

在这里插入图片描述

mysql -u root -p

在这里插入图片描述

show variables like '%dir%';

在这里插入图片描述
在输出的内容里面可以看到有datadir是/opt/mysql/mysql5.7

注意:

1.在重启mysql过程中遇到了一个错误:
查看错误日志得到的结果:
The innodb_system data file ‘ibdata1’ must be writable
这个和之前创建的文件权限有关系。

vim /var/log/mysql/error.log

在这里插入图片描述
更改根目录权限为mysql即可。

欢迎评论:

提示:欢迎大家在评论区讨论相关问题。
可以关注博主,我会持续更新工作中遇到的技术小砖头,供大家使用。
也可以在评论区告知好的小砖头或技术,我会收录。
还可以指出本博文错误,希望大家不吝赐教。

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端小白到专家

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值