Linux环境安装卸载Mysql

mac2025-06-09  60

前言

把最近安装Mysql的过程记录一下,避免下次安装再次碰到同样的坑。看来docker学习得提上日程了。 以下内容全部是亲手实践过的 以下内容全部是亲手实践过的 以下内容全部是亲手实践过的。。。

环境

Linux CentOS7 、Mysql8.0

安装Mysql

Linux安装Mysql有多种方式,yum安装、rpm包安装、编译安装。 yum: 是CentOS系统下的软件安装方式,基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包。 rpm: 软件管理,用于安装/卸载 .rpm软件。 本文使用yum安装,当然是因为简单~

安装:

从CentOS 7.0发布以来,yum源中开始使用Mariadb来代替MySQL的安装。即使你输入的是yum install -y mysql , 显示的也是Mariadb的安装内容。 使用源代码进行编译安装又太麻烦。因此,如果想使用yum安装MySQL的话,就需要去下载官方指定的yum源. yum下载网址 ,下载对应自己系统版本的资源,如果是CentOS7安装8.0的直接复制下面命令就可以

1)安装MySQL YUM资源库

yum localinstall https://repo.mysql.com//mysql80-community-release-el7-3.noarch.rpm

2)安装MySQL yum默认的源是国外的下载速度慢,改成国内的就行了

yum install -y mysql-community-server

这里如果出现以下报错,按顺序依次执行以下命令。出错原因大概是没有正常退出安装导致的。

警告:RPM 数据库已被非 yum 程序修改。 ** 发现 2 个已存在的 RPM 数据库问题, 'yum check' 输出如下: 2:postfix-2.10.1-6.el7.x86_64 有缺少的需求 libmysqlclient.so.18()(64bit) 2:postfix-2.10.1-6.el7.x86_64 有缺少的需求 libmysqlclient.so.18(libmysqlclient_18)(64bit) //如果报错依次执行 yum-complete-transaction yum -y install yum-utils yum clean all yum-complete-transaction --cleanup-only

3)启动MySQL服务器和MySQL的自动启动

systemctl start mysqld.service systemctl enable mysqld.service

4)密码问题 由于MySQL从5.7开始不允许首次安装后使用空密码进行登录!为了加强安全性,系统会随机生成一个密码以供管理员首次登录使用, 这个密码记录在/var/log/mysqld.log文件中,使用下面的命令可以查看此密码:(必须完成第三步才会有这个密码)

cat /var/log/mysqld.log|grep 'A temporary password'

5)登陆,设置密码

mysql -p set password=password("密码");//这个在8.0中运行失败 或者: ALTER USER "root"@"localhost" IDENTIFIED BY "密码"; //刷新权限 flush privileges;

6)常用命令

service mysqld start //启动 service mysqld stop //停止 service mysqld status //查看状态 service mysqld restart //重启

到这里就安装完成了。

创建用户设置远程访问

1)登陆Mysql

mysql -u root -p

2)切换数据库

use mysql;

3)创建远程访问用户

create user '用户名'@'需要访问的ip' IDENTIFIED BY '密码';

4)授权 这里要注意,8.0版本的需要先创建用户再授权,不然会报以下错

ERROR 1410 (42000): You are not allowed to create a user with GRANT //授权,刚才创建的用户 grant all privileges on *.* to "用户名"@"需要访问的ip"; //刷新权限 flush privileges;

5)查看是否成功

select user,host from user; +------------------+---------------+ | user | host | +------------------+---------------+ | root | ***.**.***.25 | | mysql.infoschema | localhost | | mysql.session | localhost | | mysql.sys | localhost | | root | localhost | +------------------+---------------+ 第一条就是设置的远程用户

到这里有些就可以远程连接了,但是!8.0版本的默认加密方式不一样,有些工具还没支持,所以连接可能会报以下错。 Client does not support authentication protocol requested by server;

//更改加密方式。 ALTER USER "用户名"@"需要访问的ip" IDENTIFIED WITH mysql_native_password BY '密码'; //更改后查看 select host,user,plugin from user; +---------------+------------------+-----------------------+ | host | user | plugin | +---------------+------------------+-----------------------+ | ***.**.***.25 | root | mysql_native_password | | localhost | mysql.infoschema | caching_sha2_password | | localhost | mysql.session | caching_sha2_password | | localhost | mysql.sys | caching_sha2_password | | localhost | root | caching_sha2_password | +---------------+------------------+-----------------------+

可见第一条的加密方式改过来了,这样就可以使用设置的用户远程访问了。


卸载mysql

卸载前切记 切记 切记 要备份数据!!!!!

看到好几篇文章说卸载完还可以看到数据文件和配置文件,咱也不知道是怎么操作的,咱也不敢问,希望有大佬讲讲。点我备份 1)查看是否安装mysql

rpm -qa|grep -i mysql

2)删除mysql

经后续验证这里最好使用 yum remove删除,因为yum remove会自动删除依赖

例如: yum remove mysql-community-client-5.6.40-2.el7.x86_64
rpm -ev mysql-community-client-5.6.40-2.el7.x86_64 rpm -ev mysql-community-release-el7-5.noarch rpm -e --nodeps mysql-community-libs-5.6.40-2.el7.x86_64 rpm -e --nodeps mysql-community-common-5.6.40-2.el7.x86_64

使用rpm删除的时候会有依赖问题,按顺序删除就行了。还不行的话就 rpm -e --nodeps 强制删除 3) 删除mysql的目录文件和库

find / -name mysql

删除文件

rm -rf/etc/selinux/targeted/active/modules/100/mysql rm -rf /usr/share/mysql rm -rf /var/lib/mysql rm -rf /var/lib/mysql/mysql

4)删除mysql用户及组

userdel mysql groupdel mysql

卸载完毕。。。

最新回复(0)