在CentOS7系统下教你安装MySQL5.7| 8月更文挑战

314 阅读4分钟

这是我参与8月更文挑战的第2天,活动详情查看:8月更文挑战

相信你应该也有所耳闻,在MySQL被oracle收购后,centos系统安装MySQL就成了一件比较麻烦的事情。 以前在低版本中,我们可以使用yum install 去安装。 但现在centos官方默认自带是mariadb, 这就导致了安装MySQL比较麻烦。

当然这里提到的麻烦只是相对于以前安装MySQL的方式来说的,所以你也不用担心,我们只要认真学习一切都不是事。

官方文档也提供了最好的安装方式,你参考我的这个来安装问题不大。

  1. 安装YUM repo 由于centos的yum源中没有MySQL,需要到MySQL官网下载yum repo的配置文件
wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm

然后进行repo的安装

[root@wg001 ~]# rpm -ivh mysql57-community-release-el7-9.noarch.rpm 
警告:mysql57-community-release-el7-9.noarch.rpm:V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:mysql57-community-release-el7-9  ################################# [100%]
[root@wg001 ~]# 

缓存一下yum

# yum makecache

之后就可以用yum进行安装了 在安装之前需要把之前的MySQL删掉: 注意: 这一步很关键,如果你没有删掉MySQL他会导致你安装失败。

命令如下

1) 先找到之前系统自带的MySQL的包

rpm -qa |grep mysql

2) 发现有输出结果,依次删除

rpm -e **** --nodeps

3) 开始安装MySQL

#yum install mysql-community-server

安装时间有点长,在十分钟左右。

启动MySQL

[root@wg001 ~]# systemctl start mysqld

配置MySQL,获取MySQL的临时密码

[root@wg001 ~]# grep  'temporary password' /var/log/mysqld.log 
2018-12-02T14:08:10.483897Z 1 [Note] A temporary password is generated for root@localhost: e%3t6nfd.vrK

注意: 如果你不知道日志文件在哪里,有两种方法 1) 记住这个路径,/var/log/mysqld.log ,一般默认都是在这个路径 2) 直接打开 /etc/my.cnf 查看,在配置文件里搜 mysqld.log, 在配置文件里都有。

现在我们找到了密码,可以直接登陆数据库了

[root@wg001 ~]# mysql -uroot -pe%3t6nfd.vrK
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.24
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

可以看到版本号是5.7.24

不过这里还有个注意点: 就是当你找到密码后,如果你查找出来的密码有特殊字符,那你使用我上面的登录方式可能会报错。

如果你登录的时候报错,可以先执行 MySQL -u root -p

然后回车,等出来输入密码的时候在复制进去密码即可。

这样做有两个好处

一个是确保密码的安全 第二个是使用密码登录的时候不会出错

我们登陆后需要及时修改密码,有的小伙伴在这里就直接使用MySQLadmin 来修改密码, 这种方式也是错误的,因为初始密码不能直接拿来这么修改。我们需要登录数据库中进行密码修改

mysql> set password=password("ZMedu118118!");
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> grant all privileges on  *.* to root@"%" identified by "ZMedu118118!";
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> flush privileges 

注意: 密码不能设置的过于简单,如果太简单会报错。 尤其是在MySQL8中对密码的要求越来越严格, 以前在低版本我们可以使用 123456这样的密码, 但是在MySQL5.7和MySQL8这样的数据库里默认已经不能设置简单密码了。

你如果只是测试,想使用简单密码也是可以的,在后面的文章中,我会一一介绍。

设置安全选项

# mysql_secure_installation

默认配置文件

配置文件:/etc/my.cnf 
日志文件:/var/log//var/log/mysqld.log 
服务启动脚本:/usr/lib/systemd/system/mysqld.service 
socket文件:/var/run/mysqld/mysqld.pid

修改完密码后直接重启服务器,然后重新登录即可,也可以设置为开启自启。

总结

我通过两篇文章,带大家了解了MySQL的基础概念,及MySQL的安装,下一篇文章开始我们就可以操作数据库了。 当然这里还涉及到MySQL8的安装,比如使用docker进行安装,我下一篇文章也会详细介绍一下,使用docker 安装MySQL8的方法。