Cent OS 7 安装mysql

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lovefengruoqing/article/details/83687557

前言

每次在虚拟机上用 Cent OS,总是要不厌其烦地装 mysql,这篇文章就记录一下,在 Cent OS 7 下装 mysql 并使用的全过程。
当然安装过程中也参考了诸多网友们写下的安装经验,我这里很难一一列出,但是在此一并表示感谢了。
正是因为众多网友无私的分享,孜孜不倦的记录,才能让后人踩在前人的肩膀上,不断进步,也让互联网行业欣欣向荣的发展。

删除 MariaDB

Cent OS 7 的 yum 源中已经不再包含在 MySQL,而改用了 MariaDB。
关于 mariaDB 的介绍,大家可以参考 wikipedia
简单点来说,MariaDB 就是 mysql 被 Oracle 收购以后,新开的一个 mysql 的分支,完全兼容 mysql。
但是问题又来了,既然两者没什么差别,为什么要大费周章的把 MariaDB 换成mysql 呢?
这个问题,我想不同的人能给出不同的答案。
而对于我来说,主要是出于习惯,用起来顺手而已。
闲话不多说,开始吧!

  1. 查询 MariaDB 是否已经安装了
rpm -qa | grep maria*
  1. 删除 MariaDB
yum -y remove maria*

【注意】 如果第一步命令执行以后,什么都没有,那么第二就直接跳过吧,因为你的系统中并没有装 MariaDB 。

下载 mysql yum 包

进入 mysql 官方提供的 yum 包下载页面,地址为:https://dev.mysql.com/downloads/repo/yum/ ,页面如下,选择适合你系统的 yum 包
在这里插入图片描述

可以用 weget 等下载方式,请自行选择。

安装 mysql yum 包

进入防止下载好的 yum 包的目录中,运行以下命令:

rpm -ivh mysql80-community-release-el7-1.noarch.rpm

后面的文件名是我下载的 mysql yum 包,你需要填上对应的你下载的 yum 包。

安装 mysql

yum install  -y  mysql-community-server

这个过程一般挺漫长的,视你的网速和极其配置而定。

启动 mysql

# 启动mysql 
systemctl start mysqld.service

# 查询mysql状态
systemctl status mysqld.service

更改默认密码

  1. 找到默认的密码
cat /var/log/mysqld.log 

默认会生成一个很复杂的密码,而这个密码会保存在mysqld.log 里面,因此通过查看这个文件,就能找到自动生成的密码。

  1. 通过这个密码登录 mysql
mysql -uroot -p your_password
  1. 修改默认密码
    默认情况下,你不更改密码,查询命令无法执行。
mysql> select @@log_error;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

但是如果你把密码设置的很简单,又通过不了密码强度验证。

mysql> alter user 'root'@'localhost' identified by 'root';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

mysql> alter user 'root'@'localhost' identified by 'root_123';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

这个时候,你需要做的是,先设置一个暂时的比较复杂的密码,这个密码要包含大小写、数字以及字符才能通过安全验证。

mysql> alter user 'root'@'localhost' identified by 'Root_123';
Query OK, 0 rows affected (0.23 sec)
  1. 查看密码相关安全设置
mysql> show variables like 'validate_password%';
+--------------------------------------+--------+
| Variable_name                        | Value  |
+--------------------------------------+--------+
| validate_password.check_user_name    | ON     |
| 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      |
+--------------------------------------+--------+
7 rows in set (0.43 sec)
  1. 修改密码强度限制
mysql> set global validate_password.length = 1;
Query OK, 0 rows affected (0.01 sec)

mysql> set global validate_password.policy = 0;
Query OK, 0 rows affected (0.00 sec)

当然,这个修改只建议在测试环境下使用,如果在生产环境使用简单密码,会导致数据库密码极易被破解,使得数据库中的数据有泄露的风险。

  1. 设置简单密码
mysql> alter user 'root'@'localhost' identified by 'root123';
Query OK, 0 rows affected (0.23 sec)

允许远程连接

mysql> alter user 'root'@'%' identified with mysql_native_password by 'root123';
Query OK, 0 rows affected (0.07 sec)

# 属性权限
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)

做了以上的修改以后,才能远程连接数据库。

猜你喜欢

转载自blog.csdn.net/lovefengruoqing/article/details/83687557