在 CentOS 7.5 64位上使用 yum 安装 MySQL 8.0

前段时间在 CentOS 7.5 64位上安装 MySQL 8.0。查了些资料,在这里记录一下详细的安装和设置步骤。

一、安装

使用yum安装MySQL之前需要先下载对应的.rpm文件,下载方法:

  1. 去 MySQL 官网,在 DOWNLOADS 界面找到MySQL Community (GPL) Downloads ?

在 CentOS 7.5 64位上使用 yum 安装 MySQL 8.0

  1. 选择MySQL Yum Repository

在 CentOS 7.5 64位上使用 yum 安装 MySQL 8.0

  1. 由于我使用的 CentOS 7,所以找到下面这一项下载:
Red Hat Enterprise Linux 7 / Oracle Linux 7 (Architecture Independent), RPM Package 

下载好之后,由于我使用的 SSH 远程连接到 CentOS 7,所以需要把这个文件上传过去,上传方法:

  1. 可以使用 FTP;
  2. 也可以使用scp命令上传过去:
# scp -P 22 D:\Download\mysql80-community-release-el7-3.noarch.rpm root@[your ip]:/home
  1. 也可以在上面的下载界面直接获取下载连接,在远程主机上用wget下载(推荐):
# wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

这个下载链接的获取方法如下图所示:

在 CentOS 7.5 64位上使用 yum 安装 MySQL 8.0

其他版本的 MySQL 的 rpm 包可以在官网找一找,应该都有。

OK,有了.rpm文件之后,执行下面命令开始用yum安装:

# cd /home
# yum -y install mysql80-community-release-el7-3.noarch.rpm
# yum -y install mysql-community-server

等待安装完成。

二、设置

  1. 首先启动 MySQL 服务:
# systemctl start mysqld
  1. 然后设置为开机启动:
# systemctl enable mysqld
# systemctl daemon-reload
  1. 登录 MySQL 数据库之前,首先需要得到 MySQL 初始化时为 root 用户分配的随机密码,之后才能根据用户名和密码登录 MySQL 数据库。临时密码存放在 MySQL 的 mysqld.log 日志文件中,执行如下命令可以查询 MySQL 初始化时生成的随机密码。
# grep ‘temporary password‘ /var/log/mysqld.log
  1. 看到随机密码之后登录 MySQL:
# mysql -u root -p

输入密码,即可进入 MySQL 命令行

  1. 修改密码。成功登录 MySQL 后,尝试执行部分 SQL 语句,此时会出现如下错误提示:
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

这是因为初始化密码还没有修改,重设密码后才能执行查询语句。下列语句将 root 用户的密码修改为v#1#ETXI3E。可以设置为满足 MySQL 要求的任意密码。

mysql> ALTER USER ‘root‘@‘localhost‘ IDENTIFIED BY ‘v#1#ETXI3E‘;
  1. 添加一个可以远程登录 MySQL 服务的用户:

为了安全考虑,默认只允许 root 帐户在服务器本地登录,而不开放 root 用户在远程机器登录的权限。如果要在其他机器上连接 MySQL,必须修改 root 允许远程连接,但是一般不建议这么做,超级用户的权限限制在服务器本地最好,如果想要远程登录,建议添加一个允许远程连接的帐户。为了安全考虑,希望大家都可以遵守这条规范。

登录 MySQL 数据库后,执行如下语句:

mysql> CREATE USER ‘yourusername‘@‘%‘ IDENTIFIED BY ‘yourpassword‘;
mysql> GRANT ALL PRIVILEGES ON *.* TO ‘yourusername‘@‘%‘ WITH GRANT OPTION;

此时,会创建一个用户名为yourusername、登录密码为yourpassword的用户,‘yourusername‘@‘%‘表示yourusername这个数据库用户可以在任意 ip 地址(即‘%‘)远程登录 MySQL 数据库。添加成功后可以在本地的数据库客户端尝试连接一下,测试远程登录是否成功。

这一步网上有的教程使用:

mysql> GRANT ALL PRIVILEGES ON *.* TO ‘yourusername‘@‘%‘ IDENTIFIED BY ‘yourpassword‘ WITH GRANT OPTION;

实际执行的时候会报错,见新版SQL授权用户时报错 near ‘IDENTIFIED BY ‘密码‘ with grant option‘ at line 1

  1. 最后刷新权限,并退出。
mysql> FLUSH PRIVILEGES; 
mysql> EXIT

至此安装、设置步骤全部完成。

  • 创建一个名为testUTF-8编码的数据库
mysql> create database `test` character set ‘utf8‘ collate ‘utf8_general_ci‘;

在 CentOS 7.5 64位上使用 yum 安装 MySQL 8.0

上一篇:oracle MERGE INTO...USING两表关联操作(效率高)


下一篇:使用GDB生成coredump文件【转载】