CentOS8下通过yum安装mysql8.0.18

CentOS8下通过YUM安装mysql8.0.18

用过rpm安装和yum安装,还是觉得yum安装最方便,下面是我的安装过程(在root下运行

  • 检测系统是否自带安装 MySQL:
    rpm -qa | grep mysql
  • 卸载安装
    rpm -e mysql  // 普通删除
    rpm -e --nodeps mysql  // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除
    Mariadb也是要按照同样的方法卸载
  • 在安装前我们需要先去官网下载 Yum 资源包,下载地址为:mysql官网
    CentOS8下通过yum安装mysql8.0.18_第1张图片
    rpm -ivh mysql-community-release-el8-1.noarch.rpm
    yum update
    yum install mysql-server
  • 设置权限:chown mysql:mysql -R /var/lib/mysql
  • 初始化 MySQL:mysqld --initialize
  • 启动 MySQL:systemctl start mysqld
  • 查看 MySQL 运行状态:systemctl status mysqld

至此,应该是已经安装成功了,我们来验证一下

  • 使用 mysqladmin 工具来获取服务器状态:
    mysqladmin --version
    显示:

mysqladmin Ver 8.0.18 for Linux on x86_64 (MySQL Community Server - GPL)
如果以上命令执行后未输出任何信息,说明你的Mysql未安装成功。

  • Mysql安装成功后,默认的root用户密码为空
    mysql -u root -p

  • 若是开启mysql服务成功但是登陆失败
    vim /etc/my.cnf
    [mysqld]下加入:skip-grant-tables
    即可跳密码登陆

  • 登陆后可以添加用户远程登陆:
    mysq8中取消了创建并授权用户这种语法了
    创造一个可以远程登陆的用户:
    create user 'user'@'%' identified by 'password'
    更新root用户使之能远程登陆:
    update user set host='%' where user='root';
    创造了用户后得授权:
    grant all privileges on *.* to 'user'@'%';
    修改root用户密码:
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'root-password';

  • 一些注意事项:
    vim /etc/my.cnf加入
    default-authentication-plugin=mysql_native_password来更改身份验证插件
    bind-address=0.0.0.0使mysql可以远程ip连接navicat
    (远程连接还需要打开防火墙3306端口)

  • 若修改密码提示
    ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
    这是密码强度规则问题
    查看密码强度规则:
    mysql>SHOW VARIABLES LIKE 'validate_password%';
    mysql>set global validate_password.policy=0;
    mysql>flush privileges;

  • 更改了/etc/my.cnf一定要重启mysql
    systemctl restart mysqld

  • 其实还有一些配置,不过是定制的,不一定适合所有机器,就不说了。
    另外说一下,若是这样安装,则默认数据存储在系统盘上,更改数据存储位置参考以下博文
    更改mysql8数据存储位置

有问题欢迎评论。
—4.19更新—
在虚拟机上又按这个顺序安装了一个mysql
mysqladmin Ver 8.0.17 for Linux on x86_64 (Source distribution)
发现安装后的配置文件/etc/my.cnf默认为:

#
# This group is read both both by the client and the server
# use it for options that affect everything
#
[client-server]

#
# include all files from the config directory
#
!includedir /etc/my.cnf.d


是说配置文件放在/etc/my.cnf.d这个dir(目录)了
cd /etc/my.cnf.d && ls

client.cnf  mysql-default-authentication-plugin.cnf  mysql-server.cnf

挨个查看,发现里面是客户端和服务端以及默认密码识别配置文件。也就是之前的my.cnf的作用,将其拆分成了这三个,可以选择在my.cnf中配置,也可以在这三个文件中分别配置。

你可能感兴趣的:(CentOS8)