1.1 MySQL安装
1.1.1 下载wget命令
yum -y install wget
1.1.2 在线下载mysql安装包
wget https://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
1.1.3 安装MySQL
rpm -ivh mysql57-community-release-el7-8.noarch.rpm
1.1.4 安装mysql服务
- 首先进入
cd /etc/yum.repos.d/
目录。
cd /etc/yum.repos.d/
- 安装MySQL服务(这个过程可能有点慢)
yum -y install mysql-server
linux安装MySQL时报错:
原因:MySQL GPG密钥已过期导致
解决办法:执行一下命令,解决
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
1.1.5 启动MySQL
systemctl start mysqld
1.2 修改MySQL临时密码
MySQL安装成功后会有一个临时密码,我们可以使用grep
命令查看临时密码先登录进去MySQL,然后修改MySQL密码。
1.2.1 获取MySQL临时密码
grep ‘temporary password’ /var/log/mysqld.log
1.2.2 使用临时密码先登录
mysql -uroot -p
我的临时密码是:a22XRJ88=+a;
1.2.3 把MySQL的密码校验强度改为低风险
set global validate_password_policy=LOW;
1.2.4 修改MySQL的密码长度
set global validate_password_length=5;
1.2.5 修改MySQL密码
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
1.3 允许远程访问
1.3.1 首先要关闭Cenots的防火墙
sudo systemctl disable firewalld
1.3.2 修改MySQL允许任何人连接
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
mysql>GRANT ALL PRIVILEGES ON *.* TO
'root'``@``'%'
IDENTIFIED BY
'123456'
WITH GRANT OPTION;
//``远程连接数据库的时候需要输入用户名和密码
用户名:root
密码:123456
指点ip:%代表所有Ip,此处也可以输入Ip来指定Ip
输入后使修改生效还需要下面的语句
mysql>FLUSH PRIVILEGES;
二、服务器防火墙没有开放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
firewall-cmd --zone=public --add-port=3306``/tcp
--permanent
命令含义:
1
2
3
4
5
6
7
--zone
#作用域
--add-port=3306``/tcp
#添加端口,格式为:端口/通讯协议
--permanent?
#永久生效,没有此参数重启后失效
重启防火墙
1
systemctl restart firewalld.service
2.iptables 开发3306端口
1
2
3
/sbin/iptables
-I INPUT -p tcp -dport 3306 -j ACCEPT
/etc/rc``.d``/init``.d``/iptables
save
可以使用 mysql_secure_installation 命令修改密码
Mysql安全启动配置向导——mysql_secure_installation(生产环境必做的设置)_非著名运维的博客-优快云博客
博主介绍:大厂码农|毕设布道师,阿里云开发社区乘风者计划专家博主,优快云平台Java领域优质创作者,专注于大学生项目实战开发、讲解和毕业答疑辅导。
对于大多数初中级Java工程师而言,提升技能往往是一条曲折的道路。有些人选择自我摸索,有些人则选择报班学习,但培训机构的高昂学费往往让人望而却步。自学虽然是一种方式,但缺乏体系性,效果往往不尽如人意,容易陷入技术停滞的困境。文末获取源码联系??**