ubuntu20删除8.0MySQL安装5.7mysql

Ubuntu20默认的安装的MySQL数据库是8.0的 所以不能使用apt安装 需要自己下载安装包安装

我开始没有卸载8.0的mysql 在安装的时候就会发现存在client-8.0等跟你装的包冲突 所以你需要先卸载8.0的mysql

1、卸载MySQL8.0:
停MySQL服务:

sudo service mysql stop

卸载mysql(此处暂时先删掉你下载5.7版本的所有,不然会报找不到的错)

sudo apt purge mysql-*

删除mysql的文件包

sudo rm -rf /etc/mysql/
sudo rm -rf /var/lib/mysql*

删除apt中的包

sudo apt autoremove
sudo apt autoclean

再次清理

dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P

理论上已经全部删除,但是有可能还会有mysql的包 ,使用下面语句查看是否还有其他依赖以及包

dpkg --list | grep mysql

如果还有包,用下面语句一个一个删

dpkg -P +软件包名称

2、安装mysql5.7.31
个人比较喜欢每个软件以及文件都放在一个文件夹里,好区分 你们安装可以不创建新的文件夹

创建文件夹并进入创建的文件夹

mkdir mysql5.7.31
cd ~/mysql5.7.31

下载

wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-server_5.7.31-1ubuntu18.04_amd64.deb-bundle.tar

解压

sudo tar -vxf mysql-server_5.7.31-1ubuntu18.04_amd64.deb-bundle.tar


image.png

删除两个文件并把5.7的压缩包移到外面

sudo rm -f mysql-testsuite_5.7.31-1ubuntu18.04_amd64.deb
sudo rm -f mysql-community-test_5.7.31-1ubuntu18.04_amd64.deb
sudo mv mysql-server_5.7.31-1ubuntu18.04_amd64.deb-bundle.tar ~/Desktop

安装依赖

sudo apt-get install libtinfo5
sudo apt-get install libmecab2

使用deb安装

sudo dpkg -i mysql-*.deb

可能就会出现很多缺少依赖等

image.png

下载安装依赖(这时候安装的时候是需要输入初始密码的)

sudo apt install libaio1

剩下的可以看到是我们安装的时候顺序的原因造成的(我是再次一个一个安装的)
安装

sudo dpkg -i mysql-community-client_5.7.31-1ubuntu18.04_amd64.deb
sudo dpkg -i mysql-client_5.7.31-1ubuntu18.04_amd64.deb
sudo dpkg -i mysql-community-server_5.7.31-1ubuntu18.04_amd64.deb
sudo dpkg -i mysql-server_5.7.31-1ubuntu18.04_amd64.deb

最后再重新走了一次全部安装

sudo dpkg -i mysql-*.deb

到这里就是安装好了,启动服务,查看是否服务状态

sudo service mysql start
sudo service mysql status

修改监听

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
注释掉bind-address = 127.0.0.1, 即#bind-address = 127.0.0.1

3、配置除本地外其他客户端可访问

  1. 登录数据库

mysql -u root -p

  1. 选择数据库

use mysql;

  1. 修改root用户可以在所有机器登录(root只是举例,%表示所有机器)

update user set host = '%' where user = 'root';

  1. 重启服务

sudo /etc/init.d/mysql restart

4、修改配置文件(忽略表名的大小写)

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

将: lower_case_table_names=1 添加到 [mysqld] 位置下

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容