欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Linux安装和卸载MySQL5.7

程序员文章站 2022-03-10 19:17:33
Linux 安装MySQL有三种方法,下图是三种方法比较: 这里采用rpm 安装MySQL ,CentOS 7安装MySQL-5.7.17 . 一,下载安装包 1,下载地址:http://www.mysql.com/downloads/ 2,选择自己的版本 二、安装准备 1.检查系统中是否安装了my ......

linux 安装mysql有三种方法,下图是三种方法比较: 
Linux安装和卸载MySQL5.7 
这里采用rpm 安装mysql ,
centos 7安装mysql-5.7.17 .

一,下载安装包 

1,下载地址:http://www.mysql.com/downloads/ 
 
2,选择自己的版本 

Linux安装和卸载MySQL5.7
Linux安装和卸载MySQL5.7

二、安装准备

1.检查系统中是否安装了mysql。 

rpm -qa|grep mysql

Linux安装和卸载MySQL5.7

注意:如果安装了mysql,请先卸载mysql后再进行安装,卸载教程在下文。

三、解压安装包

 tar -vxf mysql-5.7.17-1.el7.x86_64.rpm-bundle.tar

 四、安装mysql 

1,安装顺序

rpm -ivh mysql-community-common-5.7.17-1.el7.x86_64.rpm   
rpm -ivh mysql-community-libs-5.7.17-1.el7.x86_64.rpm   
rpm -ivh mysql-community-client-5.7.17-1.el7.x86_64.rpm  
rpm -ivh mysql-community-server-5.7.17-1.el7.x86_64.rpm  
rpm -ivh mysql-community-devel-5.7.17-1.el7.x86_64.rpm  

当你安装第二个rpm时,会报出下列错误

 Linux安装和卸载MySQL5.7

出现依赖冲突,因为centos的默认数据库已经不再是mysql了,而是mariadb,为什么呢? 
mariadb数据库管理系统是mysql的一个分支,主要由开源社区在维护,采用gpl授权许可。开发这个分支的原因之一是:甲骨文公司收购了mysql后,有将mysql闭源的潜在风险,因此社区采用分支的方式来避开这个风险。mariadb的目的是完全兼容mysql,包括api和命令行,使之能轻松成为mysql的代替品。 
查看当前安装的mariadb包:

rpm -qa | grep mariadb

 Linux安装和卸载MySQL5.7 

用命令删除:

rpm -e --nodeps mariadb-libs-5.5.44-2.el7.centos.x86_64
然后重新按顺序安装.

五、启动mysql服务 

方法一:
启动命令:service mysqld start (centos7:systemctl start mysqld.service)
查看初始管理员密码; grep 'temporary password' /var/log/mysql/mysqld.log 
修改密码:mysql -uroot -pal/4oshfh5qw
密码必须包含大写字母小写字母数字和符号,不然会提示:error 1819 (hy000): your password does not satisfy the current policy requirements(您的密码不符合当前的安全策略要求) 
修改密码后,退出再登录成功! 
到此,就完成了mysql的安装! 
方法二:mysql跳过权限检查,强制修改密码

1.mysql服务:service mysqld stop (centos7:systemctl stop mysqld.service).

2.vim /etc/my.cnf 加入skip-grant-tables 

3.mysql:service mysqld restart(centos7:systemctl restart mysqld.service)

4.输入 mysql 直接登录mysql数据库,然后use mysql;

5.msql5.7数据库下已经没有password这个字段了,password字段改成了 authentication_string

 更改语句替换为update mysql.user set authentication_string=password('root') where user='root' ;

6.my.cnf文件删掉skip-grant-tables 这一行,然后重启mysql,/etc/init.d/mysqld restart,否则mysql仍能免密码登录

7.sql -u root -p 登陆,参数说明:-h是主机名 -u是用户名 -p是密码

六、授权远程登录 

如果不开启远程登录权限,将会遇到类似下面的错误: 
在客户机上使用 navicat for mysql 远程连接就报1130的错 

 
配置mysql远程连接

mysql>grant all privileges on *.* to 'root'@'%' identified by '密码' with grant option;
mysql>flush privileges
完成!
linux下彻底卸载mysql  

1.查看当前系统是否有安装mysql:rpm -qa|grep mysql。

2.停止mysql服务、删除之前安装的mysql 删除命令:rpm -e –nodeps 包名如果提示依赖包错误,则使用以下命令尝试例:rpm -e mysql-community-server-5.7.24-1.el6.x86_64 –nodeps

如果提示错误:error: %preun(xxxxxx) scriptlet failed, exit status 1

则用以下命令尝试:

rpm -e --noscripts mysql-community-client-5.7.24-1.el6.x86_64 

 3.之前老版本mysql的目录、并且删除老版本mysql的文件和库

  find / -name mysql

Linux安装和卸载MySQL5.7

注意:卸载后/etc/my.cnf不会删除,需要进行手工删除:rm -rf /etc/my.cnf

4.再次查找mysql是否有安装:rpm -qa|grep -i mysql