问题描述

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

解决方案:

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

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

dpkg -l | grep mysql

win10安装mysql修改配置文件不生效 mysql5.7更改安装路径_vim


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的密码

win10安装mysql修改配置文件不生效 mysql5.7更改安装路径_vim_02


也可以用ps查看

ps -aux | grep mysql

win10安装mysql修改配置文件不生效 mysql5.7更改安装路径_vim_03

第四:换数据表保存目录
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

win10安装mysql修改配置文件不生效 mysql5.7更改安装路径_ubuntu_04

mysql -u root -p

win10安装mysql修改配置文件不生效 mysql5.7更改安装路径_vim_05

show variables like '%dir%';

win10安装mysql修改配置文件不生效 mysql5.7更改安装路径_mysql_06


在输出的内容里面可以看到有datadir是/opt/mysql/mysql5.7

注意:

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

vim /var/log/mysql/error.log

win10安装mysql修改配置文件不生效 mysql5.7更改安装路径_vim_07


更改根目录权限为mysql即可。

欢迎评论:

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