Linux安装和卸载MySQL5.7
linux 安装mysql有三种方法,下图是三种方法比较:
这里采用rpm 安装mysql ,centos 7安装mysql-5.7.17 .
一,下载安装包
1,下载地址:http://www.mysql.com/downloads/
2,选择自己的版本
二、安装准备
1.检查系统中是否安装了mysql。
rpm -qa|grep mysql
注意:如果安装了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时,会报出下列错误
出现依赖冲突,因为centos的默认数据库已经不再是mysql了,而是mariadb,为什么呢?
mariadb数据库管理系统是mysql的一个分支,主要由开源社区在维护,采用gpl授权许可。开发这个分支的原因之一是:甲骨文公司收购了mysql后,有将mysql闭源的潜在风险,因此社区采用分支的方式来避开这个风险。mariadb的目的是完全兼容mysql,包括api和命令行,使之能轻松成为mysql的代替品。
查看当前安装的mariadb包:
rpm -qa | grep mariadb
用命令删除:
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
注意:卸载后/etc/my.cnf不会删除,需要进行手工删除:rm -rf /etc/my.cnf
4.再次查找mysql是否有安装:rpm -qa|grep -i mysql