Centos 选择版本安装 mysql

本贴最后更新于 1007 天前,其中的信息可能已经天翻地覆

1.下载 Mysql 源

mysql 官网地址:mysql 官网

可以先查看下 centos 版本,已选择对应的 Mysql 版本:

cat /etc/redhat-release

20200401203956523.png

下载 mysql 源:
当前官网最新源,最好去前往官网按照 centos 版本获取最新源下载链接,不然很容易报错

//centos7: wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm //centos6: wget https://dev.mysql.com/get/mysql80-community-release-el6-3.noarch.rpm

注:如果出现以下错误:
无法解析主机地址 wget: 无法解析主机地址
执行命令:

echo 'nameserver 8.8.8.8'>>/etc/resolv.conf

安装 mysql 源

注:mysql80-community-release-el8-1.noarch.rpm 请更改为您下载的文件

sudo rpm -Uvh mysql80-community-release-el8-1.noarch.rpm

安装成功后,可以在/etc/yum.repos.d/文件夹中看见两个 repo 文件

20200401204410345.png

2.安装 Mysql

注:默认安装最新版 mysql,如果需要更换版本,请按以下代码执行:

sudo yum-config-manager --disable mysql80-community //禁用8.x版本

1.png

sudo yum-config-manager --enable mysql57-community //开启5.7版本

2.png

安装 mysql,执行如下语句即可

sudo yum install mysql-server

注意:如果这里安装使用的命令时 sudo yum install mysql-community-server 会报错:

No match for argument: mysql-community-server Error: Unable to find a match: mysql-community-server>

3.png

3.启动 mysql 服务

sudo systemctl start mysqld.service //centos6请使用以下命令: service mysqld start

注:如果发生以下错误,请参照本系列文章:centos6.5 安装 mysql5.7 时,启动服务失败
3.png

4.进入 Mysql

使用 root 账号登陆,第一次登陆不需要输入密码,直接回车即可:

mysql -uroot -p

注:如果需要密码,通过如下命令可以在日志文件中找出密码:

grep "password" /var/log/mysqld.log

修改密码:

alter user 'root'@'localhost' IDENTIFIED BY 'XXX'; FLUSH PRIVILEGES; //立即刷新

如果遇到策略问题导致无法修改密码,可以执行下面语句:

设置密码强度为弱:set global validate_password_policy=LOW;
可以修改validate_password_policy=0,这样就是只检查长度
我们觉着8位太长了,我们可以改为4:set global validate_password_length=4;

然后下次登陆的时候就可以使用新设置的密码了。

5.设置远程登录

进入 mysql,使用新的密码进入 mysql -uroot -p,一般来说,远程登录不应该使用 root 账户,所以我们新建一个账号

//设置root远程登录:grant all privileges on *.* to root@"%" identified by "密码";

//创建新用户 create user mysql_user;

//授权,% 表示是所有的外部机器,如果指定某一台机,就将%改为相应的机器名 GRANT ALL ON *.* TO 'mysql_user'@'%'; //更新密码 ALTER USER 'mysql_user'@'%' IDENTIFIED WITH mysql_native_password BY 'xxx'; //强制刷新 flush privileges;

此时,查询用户权限情况
进入 mysql 数据库,

select host,user from user;

可以看到 mysql_user 已经允许远程访问
4.png

然后退出 mysql,使用 exit;
5.png

查看 3306 端口是否开启
6.png

这表示 3306 端口已对所有远程开放

但是到这一步,使用 navicat 连接 mysql 还是不行。我们还得在某云上配置下安全策略
进到你云服务器的安全组中,添加一组新的规则
7.png
配置好之后,可以重启一下系统。

如果 mysql 没有设置开机启动的话,你需要重新启动一下服务

然后使用 navicat 连接 mysql,连接成功。
8.png

到这就搞定收工。

  • MySQL

    MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是最流行的关系型数据库管理系统之一。

    692 引用 • 535 回帖
  • CentOS

    CentOS(Community Enterprise Operating System)是 Linux 发行版之一,它是来自于 Red Hat Enterprise Linux 依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定的服务器以 CentOS 替代商业版的 Red Hat Enterprise Linux 使用。两者的不同在于 CentOS 并不包含封闭源代码软件。

    238 引用 • 224 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...