yum -y install wget
wget https://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
rpm -ivh mysql57-community-release-el7-8.noarch.rpm
cd /etc/yum.repos.d/
目录。cd /etc/yum.repos.d/
yum -y install mysql-server
linux安装MySQL时报错:
原因:MySQL GPG 密钥已过期导致
解决办法:执行一下命令,解决
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
systemctl start mysqld
MySQL安装成功后会有一个临时密码,我们可以使用grep
命令查看临时密码先登录进去MySQL,然后修改MySQL密码。
grep 'temporary password' /var/log/mysqld.log
mysql -uroot -p
我的临时密码是:a22XRJ88=+a;
set global validate_password_policy=LOW;
set global validate_password_length=5;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'admin';
下面是在CentOS 7上安装MySQL并设置默认密码的步骤
$ sudo mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
In order to log into MySQL to secure it, we'll need the current
password for the root user. If you've just installed MySQL, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.
Enter current password for root (enter for none): [Press Enter]
Set root password? [Y/n]: Y
New password: [Enter new password]
Re-enter new password: [Repeat password]
Remove anonymous users? [Y/n]: Y
Disallow root login remotely? [Y/n]: Y
Remove test database and access to it? [Y/n]: Y
Reload privilege tables now? [Y/n]: Y
sudo systemctl disable firewalld
1)首先登录MySQL
mysql -uroot -padmin
2)切换到mysql数据
use mysql;
3)查看user表
select Host,User from user;
发现root
用户只允许localhost
主机登录登录
4)修改为允许任何地址访问
update user set Host='%' where User='root';
5)刷新权限
flush privileges;
12. 将MySQL注册为服务
cp support-files/mysql.server /etc/init.d/mysqld
chkconfig --add
mysqld chkconfig mysqld on
service mysqld restart(重启)
service mysqld status (状态)
mysql数据库在Centos7下无法远程连接的原因以及解决详解
有两种原因
数据库没有授权
服务器防火墙没有开放3306端口
一、数据库没有授权
对于mysql数据库没有授权,只需要用一条命令就可以了。
1 2 3 4 5 6 7 8 9 10 |
|
二、服务器防火墙没有开放3306端口
centos 有两种防火墙 FirewallD和iptables防火墙
centos7 使用的是FirewallD防火墙。
FirewallD 是 iptables 的前端控制器,用于实现持久的网络流量规则。它提供命令行和图形界面,在大多数 Linux 发行版的仓库中都有。与直接控制 iptables 相比,使用 FirewallD 有两个主要区别:
1.FirewallD 使用区域和服务而不是链式规则。
2.它动态管理规则集,允许更新规则而不破坏现有会话和连接。
FirewallD 是 iptables 的一个封装,可以让你更容易地管理 iptables 规则 - 它并不是 iptables 的替代品。虽然 iptables 命令仍可用于 FirewallD,但建议使用 FirewallD 时仅使用 FirewallD 命令。
1.FirewallD防火墙开放3306端口
1 |
|
命令含义:
1 2 3 4 5 6 7 |
|
重启防火墙
1 |
|
2.iptables 开发3306端口
1 2 3 |
|
可以使用 mysql_secure_installation 命令修改密码
Mysql安全启动配置向导——mysql_secure_installation(生产环境必做的设置)_非著名运维的博客-CSDN博客