CentOS7下mysql5.7.37的安装【完美方案】

   不在CentOS安装mysql8.0的原因是对于一些中间件不兼容 比如mycat 会出现意想不到的bug 比如mycat连接mysql状态是连接成功,但是却进入不到数据库里面 出现数据库卡顿 报1184错误的现象 所以希望大家学习虚拟机的时候 mysql建议安装成mysql5.7的 本人亲自从mysql8.0.28回退到mysql5.7.37 中间各种错误 太痛苦了 所以在此提供mysql的安装与卸载教程 方便大家后续操作

centos下mysql安装步骤

进入官网MySQL :: Download MySQL Community Server (Archived Versions)

选择Red Hat Linux 7 与 centos7是一样的 互相兼容

选择版本和对应系统 下载第一个包 mysql-5.7.37-1.el7.x86_64.rpm-bundle.tar

查看是否有系统自带的mariadb和mysql

[root@localhost ~]# rpm -qa |grep mysql

[root@localhost ~]# rpm -qa |grep postfix

[root@localhost ~]# rpm -qa |grep mariadb

 卸载命令

rpm -e --nodeps xxx

安装需要的依赖文件

 

yum -y install libaio

yum -y install net-tools

yum -y install perl

安装mysql5.7.37

最好将mysql一系列的文件归到一个文件夹里 然后在这个目录下解压

tar -xvf mysql-5.7.37-1.el7.x86_64.rpm-bundle.tar

按照顺序安装以下文件 必须按照顺序安装

 

rpm -ivh mysql-community-common-5.7.37-1.el7.x86_64.rpm

rpm -ivh mysql-community-libs-5.7.37-1.el7.x86_64.rpm

rpm -ivh mysql-community-libs-compat-5.7.37-1.el7.x86_64.rpm

rpm -ivh mysql-community-client-5.7.37-1.el7.x86_64.rpm

rpm -ivh mysql-community-server-5.7.37-1.el7.x86_64.rpm

此外这里在提供mysql8.0.28的安装顺序,与mysql5.7还是有点区别的

1. mysql-community-common

2. mysql-community-client-plugins

3. mysql-community-libs

4. mysql-community-client

5. mysql-community-icu-data-files

6. mysql-community-server

启动mysql

 

先查看mysql的状态

  • 命令1: service mysqld status

  • 命令2: systemctl status mysqld

启动mysql服务

  • 命令1 service mysqld start

  • 命令2 systemctl start mysqld

查看mysql进程

ps -ef | grep mysqld

设置mysql开机自启(根据自身需求 可要可不要)

systemctl enable mysqld #设置开机启动
systemctl disable mysqld #关闭开机启动

获取mysql初始化密码

 MySQL服务初始化密码是自动生成的我们需要通过查询 mysqld.log查询初始化密码

grep password /var/log/mysqld.log

 A temporary password is generated for root@localhost: xxxxxx

(xxxxxx这就是初始密码 进入mysql复制即可)

登录MySQL修改初始化密码

mysql -uroot -p

初始化密码没修改的情况下是无法使用mysql服务的会提示必须充值秒才能进行操作

重置密码

 mysql> set password = password("123456");
 Query OK, 0 rows affected, 1 warning (0.01 sec)
 
 mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+

 MySQL5.7版本的密码默认策略如下

mysql> SHOW VARIABLES LIKE 'validate_password%'; 
+--------------------------------------+--------+
| Variable_name                        | Value  |
+--------------------------------------+--------+
| validate_password_check_user_name    | OFF    |
| validate_password_dictionary_file    |        |
| validate_password_length             | 8      |
| validate_password_mixed_case_count   | 1      |
| validate_password_number_count       | 1      |
| validate_password_policy             | MEDIUM |
| validate_password_special_char_count | 1      |
+--------------------------------------+--------+

如果密码设置的过于简单系统会提示不满足当前策略 会出现以下错误

[root@localhost opt]# mysql -uroot -p
mysql> set password = password("123456");
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

开发测试环境嫌麻烦的话可以通过以下命令修改密码策略

mysql> set global validate_password_policy=LOW;
mysql> set global validate_password_length=6;

再次查看默认密码策略

mysql>  SHOW VARIABLES LIKE 'validate_password%'; 
+--------------------------------------+-------+
| Variable_name                        | Value |
+--------------------------------------+-------+
| validate_password_check_user_name    | OFF   |
| validate_password_dictionary_file    |       |
| validate_password_length             | 6     |
| validate_password_mixed_case_count   | 1     |
| validate_password_number_count       | 1     |
| validate_password_policy             | LOW   |
| validate_password_special_char_count | 1     |
+--------------------------------------+-------+
7 rows in set (0.01 sec)

再次重置简单密码成功

mysql> set password = password("123456");
Query OK, 0 rows affected, 1 warning (0.00 sec)

设置mysql远程访问权限

需要在命令行执行开启远程访问命令

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
Query OK, 0 rows affected, 1 warning (0.00 sec)

客户端连接MySQL服务

默认情况下Centos防火墙是开启状态 通过以下命令查询防火墙状态

systemctl status firewalld

方式1 关闭防火墙(企业环境不推荐)

# 关闭
systemctl stop firewalld.service
# 禁用
systemctl disable firewalld

方式2 开放mysql服务端口

# 添加需要放行的端口号
firewall-cmd --add-port=端口号/tcp --zone=public --pernament
# 移除需要放行的端口号
firewall-cmd --remove-port=端口号/tcp --zone=public --pernament
# 查看放行的端口号
firewall-cmd --list-ports

启动防火墙

# 开启
systemctl start firewalld.service
# 重启
systemctl restart firewalld.service

关闭或者放行端口号之后发现远程访问成功

 至此centos下mysql的安装完美完成

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值