centos7 yum安装MySQL8(个人留档备用)

安装yum源

CentOS7默认安装MariaDB,安装mysql8就需要添加mysql官方yum源

首先需要下载官方yum源

wget https://repo.mysql.com/mysql80-community-release-el7.rpm 

yum -y install mysql80-community-release-el7.rpm 

如果报如下错误:

错误:软件包:mysql-community-libs-8.0.36-1.el7.x86_64 (/mysql-community-libs-8.0.36-1.el7.x86_64)
          需要:mysql-community-client-plugins = 8.0.36-1.el7

那么需下载对应rpm包先行安装。

如果报如下错误:

安装mysql报错信息mysql-community-common(x86-64))=5.7.9isneededbymysql-community-libs

解决:清除yum里所有mysql依赖包

[root@hadoop mysql-5.7.16]# rpm -qa|grep mysql
[root@hadoop mysql-5.7.16]# yum remove mysql-libs

安装mysql服务器

yum -y install mysql-community-server

启动服务

现在使用 systemctl 启动mysql守护进程

systemctl start mysqld

第一次启动mysql会初始化数据库,所以需要点时间

查看root密码

对于CentOS8,从默认源安装mysql8没有密码,可以直接mysql进入使用

对于CentOS7,从官方源安装会生成默认密码,可以通过后面的步骤查看密码并修改

初始化数据库的时候会为root设置一个默认密码,这个密码在log文件中可以找到

less /var/log/mysqld.log # 查看日志查看密码
# 会有一行 password is generated XXXXX 

或者可以使用下面语句直接提取出密码

grep "password is generated" /var/log/mysqld.log | awk '{print $NF}'

找到密码后可以用以下命令输入密码进入数据库

mysql -uroot -p

第一次进入数据库只能修改密码,不能做任何事

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';

这里的新密码不能太简单,因为mysql默认对密码有复杂度要求

可以通过下面命令关闭复杂度要求 

show global variables like '%validate_password%';
mysql> set global validate_password.policy=0;       # 关闭密码复杂性策略
mysql> set global validate_password.length=4;      # 设置密码最低长度为4

关闭防火墙

  • centos7

检查防火墙状态:

systemctl status firewalld

关闭防火墙:

systemctl stop firewalld.service

关闭后,可查看防火墙状态,当显示disavtive(dead)的字样,说明CentOS 7防火墙已经关闭。
但要注意的是,上面的命令只是临时关闭了CentOS 7防火墙,当重启操作系统后,防火墙服务还是会再次启动。如果想要永久关闭防火墙则还需要禁用防火墙服务。

禁用防火墙服务

  • centos7

systemctl disable firewalld.service

安装Zabbix时遇到的问题

1、提示缺少依赖libmysqlclient.so.18(64bit)
2、到https://pkgs.org/下载RPM包:

wget https://repo.mysql.com/yum/mysql-5.7-community/el/7/x86_64/mysql-community-libs-compat-5.7.32-1.el7.x86_64.rpm
3、安装mysql-community-libs-compat-5.7.32-1.el7.x86_64.rpm

rpm -vih mysql-community-libs-compat-5.7.32-1.el7.x86_64.rpm
4、问题解决

登录zabbix链接数据库时遇到的问题

mysql 安装了最新版本8.0.11后创建用户并授权后,授权的用户连接数据库提示

The server requested authentication method unknown to the client

查阅一些相关的资料后发现是由于新版本的mysql账号密码解锁机制不一致导致的

解决办法:

删除创建的用户和授权,

  1. 找到mysql配置文件(/etc/my.cnf )并加入

  2. default_authentication_plugin=mysql_native_password

变为原来的验证方式,然后从新创建用户并授权即可

  1. mysql -uroot -p

  2. use mysql;

  3. ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';

登录zabbix后报错(不确定,后来发现是我忘了给zabbix server配置数据库密码):

Zabbix server is runningNolocalhost:10051

估计是仅更改zabbix@localhost密码认证方式还是不到位,应该删除zabbix用户重建

drop
        drop user XXX;删除已存在的用户,默认删除的是'XXX'@'%'这个用户,如果还有其他的用户如'XXX'@'localhost'等,不会一起被删除。如果要删除'XXX'@'localhost',使用drop删除时需要加上host即drop user 'XXX'@'localhost'。
        delete
        delete from user where user='XXX' and host='localhost';其中XXX为用户名,localhost为主机名。
        区别
        drop不仅会将user表中的数据删除,还会删除其他权限表的内容。而delete只删除user表中的内容,所以使用delete删除用户后需要执行FLUSH PRIVILEGES;刷新权限,否则下次使用create语句创建用户时会报错。

  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值