美文网首页
cent OS 7 上安装 MySQL 8

cent OS 7 上安装 MySQL 8

作者: 蝉鸣的雨 | 来源:发表于2018-08-11 22:56 被阅读273次

1. 准备centos虚拟机

安装VMware虚拟机软件,下载centos7简版镜像文件,按照VMware的使用方法一步一步的安装即可。

2. 更新yum包

    yum update

3. 安装MySQL软件

  1. 通过MySQL官网下载软件包,可以选择rpm包的方式安装,也可以选择repo的方式安装。这里主要说明repo安装方式。
  1. 下载repo文件,并将repo文件放到/etc/yum.repos.d/路径下。
  1. 可以通过编辑mysql-community.repo文件选择要安装的MySQL版本。
[mysql80-community]
name=MySQL 8.0 Community Server
baseurl=http://repo.mysql.com/yum/mysql-8.0-community/el/6/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

找到文件中的目标版本处,将enabled属性设置为1,并将其他条目下的设置为0即可。

  1. 执行yum repolist enabled | grep mysql来检查版本设置的效果。
  1. 通过yum install mysql-community-server命令安装MySQL。安装需要一定时间,需要等待片刻。
  1. 可以通过systemctl start mysqld启动服务器,并执行systemctl status mysqld验证服务的运行状态。

4. MySQL服务器初始化

  1. 在服务器初始启动时,如果服务器的数据目录为空,则会发生以下情况:
  1. 服务器已初始化。
  2. 在数据目录中生成SSL证书和密钥文件。
  3. validate_password插件已安装并启用。
  4. 创建一个超级用户帐户'root'@'localhost'
  1. 执行命令grep 'temporary password' /var/log/mysqld.log初始化超级用户的密码并将其存储到错误日志mysqld.log中。此时会生成一个临时密码,并打印到屏幕上,需要记录下此密码。

PS:密码比较混乱,可能会包括乱七八糟的字符,譬如我生成的密码就是Cv,v?AVfN6q,,一定要全部记录下来,不要忽略任意一个字符。

  1. 使用临时密码,以超级用户账户登录MySQL服务
  mysql -uroot -p
  1. 成功登录之后,是无法执行任何数据库操作命令的,否则会提示ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.,即要先改密码才行。执行ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';修改密码。

PS:由于默认是开启validate_password插件的,此插件会检查密码是否合规(规则是:密码中至少包含1个数字,1个小写字母,1个大写字母和1个特殊(非字母、数字)字符),所以一般的简单的密码是无法通过的。但是,可以通过关闭此插件或修改插件规则来规避,操作如下:

  1. 执行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      |
+--------------------------------------+--------+
2. 执行`uninstall plugin validate_password;`卸载密码检查规则。
3. 也可执行`validate_password.policy LOW`将密码检查规则调低。
4. 重启服务使配置生效。

5. 设置MySQL自动启动:

执行systemctl enable mysqldMySQL设置为自动启动。

6. 配置mysql可以远程访问:

  1. 选择 mysql 数据库,运行以下命令:
    select User, Host from user;
    update user set Host = '%' where User = 'root';
    flush privileges;
    grant all on *.* to 'root'@'%';
    flush privileges;

然后重启服务器。

  1. 执行firewall-cmd --list-ports查看当前已开放的端口信息,如果3306端口(MySQL默认服务端口)已在列表中,则不需要后面的步骤了;
  1. 设置centos端口开放:
    firewall-cmd --zone=public --add-port=3306/tcp --permanent
    firewall-cmd --reload

--zone #作用域
--add-port=80/tcp #添加端口,格式为:端口/通讯协议
--permanent #永久生效,没有此参数重启后失效

  1. 然后再执行firewall-cmd --list-ports查看,出现3306/tcp即表示成功。

7. 注意:此套方案,适用于CentOS 7MySQL 8 版本,其他版本的情况,可能会有差异。我的环境为:

    Linux bogon 3.10.0-862.9.1.el7.x86_64 GNU/Linux

以上文中提到的安装连接,也是基于此环境提供的,各位需要根据自己的具体情况到官网下载相关文件,这里就不一一列出了。

相关文章

网友评论

      本文标题:cent OS 7 上安装 MySQL 8

      本文链接:https://www.haomeiwen.com/subject/ipsjbftx.html