CentOS 7下安装mysql 5.7 or 8.0并配置一条龙

由于MySQL被甲骨文收购之后存在闭源风险,mysql之父Michael Widenius主导了mysql分支MariaDB的开发以取代mysql。
所以在允许的情况下尽量用MariaDB或者PostgreSQL。MariaDB和MySQL是很接近的,所以转换成本不会太高,不过似乎PostgreSQL才是下一个主流DB,尽管相对来说和MySQL差距大一点。

管它什么开源精神开源洁癖呢,如果仍想使用mysql,可以按如下步骤进行安装。

安装

在CentOS 7下yum直接搜MySQL是搜不到的,官方库已经移除了
全是连接器或者MariaDB
根据官方教程进行安装:

  1. 访问https://dev.mysql.com/downloads/repo/yum/ 下载yum仓库

这里可以下载对应系统的rpm文件,下载rpm文件在centos7里安装之后就可以在仓库里搜索到mysql了。centos7在这里选择第二个红帽7的版本。通过此页面下载再rz传到centos7中。

在这里插入图片描述

  1. 然后执行rpm -Uvh mysql80-community-release-el7-3.noarch.rpm安装mysql库
    在这里插入图片描述
    然后就可以搜到MySQL列表(非8.0版本默认禁用)
    在这里插入图片描述

  2. 直接yum install mysql会默认安装8.0,并且会替换覆盖掉MariaDB
    在这里插入图片描述

  3. 可以看到除了8.0其他版本都是禁用的,如果想安装5.7或者其他旧版本,可以修改配置文件:
    vim /etc/yum.repos.d/mysql-community.repo
    在这里插入图片描述
    修改[mysql57-communityl下的enable为1,修改[mysql80-communityl下的enable为0
    在这里插入图片描述
    保存退出,再执行yum install mysql就默认是5.7了
    在这里插入图片描述
    mysql -V
    在这里插入图片描述
    成功。

  4. 在开启mysql时又遇到systemctl start mysqld.service报错“Failed to start mysqld.service: Unit not found."
    解决方法是:

    yum install -y mariadb-server
    

    (写的是mariadb实际上经过上面的步骤会自己替换为mysql)
    start mariadb.service
    enable mariadb.service

在这里插入图片描述
原来是没安装server,安装之后再启动即可成功。systemctl start mysqld.service

安装之后密码设置

  1. 首先查看初始密码:grep "password" /var/log/mysqld.log
    在这里插入图片描述

  2. 用初始密码来登录mysql -uroot -p-dryz#Oah6r=

  3. 修改密码set password=password('123456');
    在这里插入图片描述
    这里提示密码不符合密码安全策略,可以想一个更复杂的密码,我是直接set global validate_password_policy=LOW;降低密码安全等级,然后再set password=password('123456');修改成功。

开启远程登录

在确保端口开放的情况下,如果出现错误代码1130- Host xxx is not allowed to connect to this MariaDb server,一般是未开启远程登录,如果开启远程登录不可行也可以试试第二步授权。

  1. 开启远程登录
    • 进入mysql mysql -u root -p
    • 更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从"localhost"改称"%"
    use mysql;
    update user set host = '%' where user = 'root'  and host='localhost';
    select host, user from user;
    
    • FLUSH PRIVILEGES;生效
  2. 授权命令
    • 进入mysql mysql -u root -p
    1. 输入GRANT ALL PRIVILEGES ON *.* TO '用户名'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION; 注意将用户名和密码替换为自己的。
    2. FLUSH PRIVILEGES;

    也可以GRANT ALL PRIVILEGES ON *.* TO '用户名'@'116.30.70.187' IDENTIFIED BY '密码' WITH GRANT OPTION;表示从指定ip从任何主机连接到mysql服务器

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值