linux 安装mysql 8.0+

    1. 使用系统的 root 账户
    1. 切换到 /use/local 目录下
    1. 下载 mysql
      wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.21-linux-glibc2.12-x86_64.tar.xz
    • 也可以直接在官方下载最新版本 官方下载 选择 linux
    1. 解压 mysql
      tar xvJf mysql-8.0.21-linux-glibc2.12-x86_64.tar.xz
    1. 重命名文件夹
      mv mysql-8.0.21-linux-glibc2.12-x86_64 mysql-8.0
    1. 创建data文件夹 存储文件
      mkdir data
    1. 创建用户组以及用户和密码
      groupadd mysql
      useradd -g mysql mysql
    1. 授权用户
      chown -R mysql.mysql /usr/local/mysql-8.0
    1. 切换到 bin 目录下
      cd bin
  • 10 .初始化基础信息
    ./mysqld --user=mysql --basedir=/usr/local/mysql-8.0 --datadir=/usr/local/mysql-8.0/data/ --initialize

    • 得到临时密码在最后 root@localhost:后面的 t.HtfDS=o9s;


    1. 编辑 my.cnf 文件
      vi /etc/my.cnf
    • 注释mysqld_safe 修改信息
[mysqld]
basedir=/usr/local/mysql-8.0/
datadir=/usr/local/mysql-8.0/data/
socket=/tmp/mysql.sock
character-set-server=UTF8MB4
    1. 添加 mysqld 服务到系统
      cp -a ./support-files/mysql.server /etc/init.d/mysql
    1. 授权以及添加服务
      chmod +x /etc/init.d/mysql
      chkconfig --add mysql
    1. 启动mysql
      service mysql start
    1. 遇到问题
      mysql: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory
    • 大致意思是系统找不到 libtinfo.so.5,也就是缺少这个依赖而无法启动。首先尝试用 yum下载:
      yum -y install libtinfo.so.5
    • 但一般都会如上图所示没什么卵用……所以下一步是重点: ldd 用来者查看程序运行所需的共享库(访问共享对象依赖关系),常用来解决程序因缺少某个库文件而不能运行的一些问题。我们发现 libtinfo.so.5 not found.
      ldd /usr/local/mysql-8.0/bin/mysql
    • 综上,如果 yum 已经安装了,但依赖依旧缺失,那一般是版本号没有对上的问题。那么使用如下命令: 这行命令的意思是:查找根目录下所有前缀为 ‘ibtinfo.so’ 的文件,同时不输出错误报告。2 的意思是 Linux 中的标准错误,通常打印到屏幕上,除了 2 以外,0 是从键盘获得标准输入,1 是从键盘获得标准输出;> 是重定向,而 /dev/null 则被称为“黑洞”,也就是如果出错了,错误报告都会被丢弃。一般用于返回的信息过多,但又不重要的时候,否则会影响阅读。
      find / -name libtinfo.so\* 2>/dev/null
    • 通过结果我们可以知道只有 6 的版本,解决方法有两种:一、找一份 5 的版本放在 /usr/lib64 的目录下(但我不会= =)。二、利用软连接使 5 指向 6。ln -s 是创建软连接的命令,意思和 Windows 的快捷方式差不多,这里不多赘述,以后有机会写一篇软连接与硬链接。当然现在网上也有很多讲的。
      ln -s /usr/lib64/libtinfo.so.6.3 /usr/lib64/libtinfo.so.5
    • 重复 14 启动成功


    1. 查看启动状态
      service mysql status
    1. 将 mysql 命令添加到服务
      ln -s /usr/local/mysql-8.0/bin/mysql /usr/bin
    1. 登录 mysql 密码使用之前随机生成的密码
      mysql -u root -p
    1. 修改 root 密码 其中123456是新的密码自己设置
      ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
    1. 执行 使密码生效
      flush privileges;
    1. 选择 mysql 数据库
      use mysql;
    1. 修改远程连接并生效
      update user set host='%' where user='root';
      flush privileges;
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容