[Linux环境搭建] Linux安装Mysql 8.0.13

Linux使用宝塔面板安装Mysql


根据需求, 需要在Linux环境中安装Mysql8.0.13版本, 由于宝塔面板提供版本无法满足需求, 所以需要通过自己下载上传的方式安装。

1. Mysql下载

最新版本下载地址
历史版本下载地址
可根据需求选择相应版本下载

2. 手动安装

  1. 安装前,首先检查一下本地是否有安装过,避免冲突, 输入 rpm -qa|grep mysql , (没有输出就是没有安装过), 如果默认安装了, 使用 yum remove mysql (模糊匹配即可)
    在这里插入图片描述

  2. 安装依赖 yum install -y cmake make gcc gcc-c++ libaio ncurses ncurses-devel
    在这里插入图片描述
    在这里插入图片描述

  3. 找到对应版本Myslql下载地址, 右键Download复制下载地址
    在这里插入图片描述

  4. 使用 wget https://downloads.mysql.com/archives/get/file/mysql-8.0.13-linux-glibc2.12-x86_64.tar.xz /usr/loca/src (速度太慢, 使用另一种方式)
    在这里插入图片描述

  5. 由于步骤4方法速度较慢, 可以先将所需压缩包下载到本地, 再使用ftp上传至服务器
    在这里插入图片描述

  6. 添加系统MySQL系统用户组和mysql用户
    系统MySQL组: groupadd mysql
    添加mysql用户: useradd -r -g mysql mysql

  7. 解压压缩包: tar xvf mysql-8.0.13-linux-glibc2.12-x86_64.tar
    在这里插入图片描述

  8. 解压: tar xvf mysql-8.0.13-linux-glibc2.12-x86_64.tar.xz
    在这里插入图片描述

  9. 复制到指定目录: cp -r mysql-8.0.13-linux-glibc2.12-x86_64 /usr/local/mysql

  10. 修改当前目录拥有者为mysql用户 chown -R mysql:mysql ./
    语法: chown [选项] [所有者]:[组] 文件

  11. 安装 bin/mysqld --initialize --user=mysql --lower-case-table-names=1 --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
    (–lower-case-table-names=1: 表名以小写形式存储在磁盘上, 名称比较不区分大小写,0是区分大小写的,生产环境设置为1), 默认是0, 即时在配置文件里面指定为1, 但是启动数据库服务的时候设置不一致, 会报错
    在这里插入图片描述

  12. 修改当前data目录拥有者为mysql用户 chown -R mysql:mysql data

  13. 查看系统是否有libaio包,如果没有无法运行mysql数据库 rpm -qa | grep libaio
    在这里插入图片描述
    如上图表示已安装

  14. 启动 /usr/local/mysql/bin/ 目录下的 mysqld, 命令./mysqld --initialize --user=mysql
    在这里插入图片描述
    其中, A temporary password is generated for root@localhost: yVfa&G+:t4Bh, 这是mysql数据库自动生成的临时root密码

  15. (此步骤暂时无用)vi /usr/local/mysql/support-files/my-default.cnf

    [mysqld]
    character_set_server=utf8
    init_connect='SET NAMES utf8'
    basedir=/usr/local/mysql
    datadir=/usr/local/mysql/data
    socket=/tmp/mysql.sock
    #不区分大小写 (sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 这个简单来说就是sql语句是否严格)
    lower_case_table_names = 1
    log-error=/var/log/mysqld.log
    pid-file=/usr/local/mysql/data/mysqld.pid
    
  16. (此步骤暂时无用)保存退出,然后覆盖到/etc/my.cnf cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf

  17. 添加开机启动: cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

  18. 修改: vim /etc/init.d/mysqld , 在46, 47行添加如下内容
    在这里插入图片描述

  19. 启动mysql systemctl start mysql.service
    在这里插入图片描述

  20. 添加开机启动: chkconfig --add mysqld

  21. 登录MySQL服务: mysql | -uroot -p
    在这里插入图片描述
    提示找不到命令, 添加软连接: ln -s /usr/local/mysql/bin/mysql /usr/bin

  22. 重启mysql
    在这里插入图片描述

  23. 重新登录, 使用之前的默认密码
    在这里插入图片描述

  24. 执行 show databases; (一定要有分号)
    在这里插入图片描述
    提示修改密码, alter user root@localhost identified by 'root';
    在这里插入图片描述
    在这里插入图片描述

  25. 查看mysql状态: service mysqld status
    在这里插入图片描述

  26. 设置mysql允许远程登录: GRANT ALL PRIVILEGES ON *.* TO root@% IDENTIFIED BY '密码' WITH GRANT OPTION;
    在这里插入图片描述
    提示错误, 切换mysql数据库, 使用 update user set host = '%' where user = 'root'; , 然后 FLUSH PRIVILEGES;
    在这里插入图片描述

  27. 防火墙开放端口: firewall-cmd --zone=public --add-port=5672/tcp --permanent, 并使用 firewall-cmd --reload 刷新, 使用 firewall-cmd --zone=public --list-ports 查看所有开放端口
    在这里插入图片描述

  28. 使用navicat测试连接, 提示错误
    在这里插入图片描述
    原因MySQL8之前的版本加密规则, mysql_native_password.mysql8之后, 加密规则是caching_sha2_password.例如Navicat客户端工具只支持旧的版本, 需要修改加密规则, alter user 'root'@'%' identified by 'root' password expire never; , 然后更新 root 用户密码, alter user 'root'@'%' identified with mysql_native_password by 'root'; , 并刷新权限 FLUSH PRIVILEGES;
    在这里插入图片描述
    再次使用 navicat 测试连接
    在这里插入图片描述
    成功 ! 终于tmd成功了 !

3. Mysql卸载

  1. 由于没有使用rpm的方式安装Mysql,故没有依赖
  2. 停止服务, service mysql stop , 使用 rpm -qa|grep mysql 查看
  3. 直接删除MYSQL的安装目录, 例如这里是 /usr/local/mysql
  4. 删除配置文件: rm -rf /etc/my.cnf , rm -rf /etc/init.d/mysqld
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值