CentOS7安装MySQL5.7
查看系统中是否已安装 MySQL 服务
以下两个命令(方式)都能查出是否安装过MySQL
rpm -qa | grep mysql
yum list installed | grep mysql
没有任何结果表示没有安装。
如果已安装如图:
删除已安装的MySQL
如果没有查到安装包跳过此步。
yum -y remove ***
*** 表示包的名字
下载 mysql57-community-release-el7-8.noarch.rpm 的 YUM 源:
有的服务器没有安装 wget 用yum安装一下yum install -y wget
wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm
安装 mysql57-community-release-el7-8.noarch.rpm
rpm -ivh mysql57-community-release-el7-8.noarch.rpm
安装MySQL服务
yum install -y mysql-server
如果报错
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
MySQL服务管理
# 开机启动
systemctl enable mysqld.service
# 开启服务
systemctl start mysqld.service
# 停止服务
systemctl stop mysqld.service
# 重启服务
systemctl restart mysqld.service
设置 root 密码
查看 root 默认密码:
grep "password" /var/log/mysqld.log
红框内便是root密码,登录MySQL
mysql -u root -p
sg*8DP4%rcA_
登录成功后你尝试操作任何命令都会提示你先更新你的密码
更新密码
MySQL5.7 采用了密码强度验证插件 validate_password,因此需要设置一个有一定强度的密码。
把root密码改为123456Good!吧,包含数字字母大小写和字符,root密码有安全限制。
太简单会提示:
执行下面三行命令修改密码:
# 设置密码
SET PASSWORD = PASSWORD('123456Good!');
# 更新 root 密码永不过期
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
# 刷新权限使密码生效
flush privileges;
忘记密码怎么办?
有很多同学会忘记MySQL的密码在这里我们介绍一种找回数据库密码的方式:
# 停止MySQL服务
service mysqld stop
# 安全模式进入数据库
mysqld_safe --user=root --skip-grant-tables --skip-networking &
# 进入数据库
mysql -u root
# 找到 mysql 表
use mysql;
# 更改密码
update user set password=password("new_password") where user="root";
# 刷新权限让密码生效
flush privileges;
权限管理
我们知道在不同的环境下MySQL用户的权限是不一样的,简单的举个例子root用户一般不用作远程登录。再者不同的项目人员操作不同的数据库。那么项目开发人员对应的数据库操作权限就不一样。具体的MySQL使用权限可以搜索了解。这里添加一个用户master和root权限的用户一样用来做远程连接,可以用MySQL工具连接进行可视化管理数据库。
# 进入用户表
mysql> use mysql;
# 查看用户信息,MySQL5.7版本没有password字段,用authentication_string字段表示密码
mysql> select host,user,authentication_string from user;
# 创建用户 master 密码为 123Good!
mysql> create user master IDENTIFIED by '123Good!';
# grant 高级 DBA 管理 MySQL 中所有数据库的权限。
grant all on *.* to master@'%';
# 刷新权限生效
flush privileges;
再看下数据库用户:
记得开放 3306 端口,否则连接不成功