目录
1.下载
官网地址:https://dev.mysql.com/downloads/mysql/5.7.html
下载结果
cd /usr/local
mkdir mysql
rz 上传下载的mysql包到linux的新建 /usr/local/mysql下
上传完成
2.卸载
清除预装的mariadb或mysql
1、查询已安装的mariadb和mysql
rpm -aq|grep -i mariadb;
rpm -aq|grep -i mysql;
2、卸载mariadb和mysql
yum erase -y mariadb-libs-5.5.68-1.el7.x86_64;
或 rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64;
这两个命令的作用相同,都是用于卸载名为 “mariadb-libs-5.5.68-1.el7.x86_64” 的软件包。然而,它们的实现方式略有不同。
-
yum erase -y mariadb-libs-5.5.68-1.el7.x86_64;
使用了yum
命令,它是一个用于管理包和软件的包管理器。yum erase
命令用于卸载指定的软件包,-y
参数是用来自动回答 “是” 的确认提示,以避免在执行过程中停下来等待用户确认。 -
rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64;
使用了rpm
命令,它是一个用于管理RPM(Red Hat Package Manager)包的命令行工具。rpm -e
命令用于卸载指定的软件包,--nodeps
参数是用来指定忽略依赖关系的选项,即不检查和卸载软件包的依赖关系。
总的来说,这两个命令旨在实现相同的目标,但是它们使用了不同的工具和参数来达到效果。选择哪个命令取决于您的需求和个人偏好。如果您正在使用CentOS或其他基于RPM的Linux发行版,推荐使用yum erase
命令来管理软件包。
3、卸载完成后再次查询已安装的mariadb和mysql
rpm -aq|grep -iE 'mariadb|mysql';
查询为空表示卸载完成了
4、查找数据库残留文件
find / -name mysql;
find / -name my.cnf;
如果能找到下面两个msyql数据存储目录和配置文件,则需要删除
/var/lib/mysql
/etc/my.cnf
3.安装
1、解压
2、安装服务端
rpm -ivh mysql-community-server-5.7.44-1.el7.x86_64.rpm --force --nodeps
Linux下rpm方式安装MySQL遇到warning: mysql-community-server-5.7.44-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY这个错误,这是因为yum安装了旧版本的GPG keys造成的 解决办法:后面加上 --force --nodeps 如: rpm -ivh mysql-community-server-5.7.44-1.el7.x86_64.rpm --force --nodeps 即可。
3、安装客户端
rpm -ivh mysql-community-client-5.7.44-1.el7.x86_64.rpm --force --nodeps
4、检查是否安装成功
rpm -aq|grep mysql
5、启动mysql服务
systemctl start mysqld
6、检查mysql是否启动成功
systemctl status mysqld
4.进入数据库
1、初始化密码在mysqld的日志中
grep 'temporary password' /var/log/mysqld.log
)u/Y!FGmr9wJ
2、用初始密码进入mysql
mysql -uroot -p # )u/Y!FGmr9wJ
3、重置密码,注意:密码得包含 大写小写字母+特殊字符+数字
alter user 'root'@'localhost' identified by 'Aa123456.';
或 set password = password('Aa123456.'); #设置密码,password是一个函数,需要括号
4、退出数据库后,用刚重置的密码重新进入
5、给root账号授权
grant all privileges on *.* to root@'%' identified by 'Aa123456.'; #授予root用户的密码为Aa123456.,允许其可以通过所有客户机访问本数据库下的所有的库及其下面所有的表,权限为所有权限。
flush privileges; #刷新权限
grant all privileges on *.* to 'root' @'%' identified by 'Aa123456.' with grant option;
#授予root用户的密码为Aa123456.,允许其可以通过所有客户机访问本数据库下的所有的库及其下面所有的表,权限为所有权限。
flush privileges; #刷新权限
安装完成
4.连接
开端口命令: firewall-cmd --zone=public --add-port=3306/tcp --permanent重启防火墙: systemctl restart firewalld.service
END