centos7 离线安装mysql-5.7.21

时间:2022-04-06 20:19:18

MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。CentOS 7 版本将MySQL数据库软件从默认的程序列表中移除,用mariadb代替了。

centos 7 卸载 mariadb 的正确命令

#列出所有被安装的rpm package 
rpm -qa | grep mariadb

#卸载
rpm -e mariadb-libs-5.5.37-1.el7_0.x86_64

错误:依赖检测失败:
        libmysqlclient.so.18()(64bit) 被 (已安裝) postfix-2:2.10.1-6.el7.x86_64 需要
        libmysqlclient.so.18(libmysqlclient_18)(64bit) 被 (已安裝) postfix-2:2.10.1-6.el7.x86_64 需要

#强制卸载,因为没有--nodeps
rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64

 

mysql下载地址:https://dev.mysql.com/downloads/mysql/

centos7 离线安装mysql-5.7.21

 

 下载完之后解压:tar -xf mysql-5.7.21-1.el7.x86_64.rpm-bundle.tar

解压出来的东西:

centos7 离线安装mysql-5.7.21

 

mysql相关的包

libaio-0.3.109-13.el7.x86_64.rpm  下载地址:http://mirror.centos.org/centos/6/os/x86_64/Packages/libaio-0.3.107-10.el6.x86_64.rpm

 

安装相互依赖的包要安装顺序安装:

rpm -ivh mysql-community-common-*.rpm
rpm -ivh mysql-community-libs-*.rpm 
rpm -ivh mysql-community-client-*.rpm

rpm -ivh libaio-0.3.107-10.el6.x86_64.rpm

rpm -ivh mysql-community-server-*.rpm

安装最后一步的时候可能会提示缺少依赖net-toos和perl 使用yum install perl来安装即可。

 

安装完成之后要先设置一下mysql的登陆密码

首先修改/etc/my.cnf来禁用密码,通过mysql -uroot登录进去后设置新密码,然后再重启一下就可以用新密码正常登录了。

vi /etc/my.cnf 在最后一行添加skip-grant-tables 保存 退出 

重启mysql:systemctl restart mysqld.service

此时即可用mysql -uroot登陆

登陆之后修改root密码:use mysql;

update user set authentication_string=password("TYU!@#ert") where user="root";//这个密码一定要设置的复杂一点 符合mysql密码强度要求 以免以后操作的时候 提示密码不符合mysql规则

最后要去vi /etc/my.cnf 将添加的skip-grant-tables 去掉

 

此时mysql是无法被远程连接的

firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
systemctl stop firewalld.service #停止
systemctl disable firewalld.service #禁用
最后还要允许远程连接
可以通过修改表来实现远程:

mysql -uroot -p

mysql> use mysql;
mysql> update user set host = '%' where user = 'root';
mysql> select host, user from user;

 

设置完之后要给root账户设置权限

grant all privileges on *.* to 'root'@'%' identified by 'TYU!@#ert' with grant option;

 flush privileges;

 

这个时候mysql就可以被远程连接 但是 连上之后做任何操作都会提示:

ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

mysql5.7第一次登录修改root密码

使用下面语句去修改密码:alter user 'root'@'localhost' identified by 'xxx' PASSWORD EXPIRE NEVER account unlock;

有个密码过期,你不指定,就是默认的值是default_password_lifetime指定的360天,需要注意下。

如果设置的密码过于简单会提示:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

就是密码不符合规则 密码要设置的尽量复杂 要有数字 大写字母 特殊符号等。