多种方式安装MySQL 8

MySQL 8安装

一、安装包下载

  1. 下载地址:

    最新版本下载地址:MySQL :: Download MySQL Community Server
    历史版本下载地址:MySQL :: Download MySQL Community Server (Archived Versions)

  2. 版本选择:

    • 新的应用安装,应尽量选择最新的GA版本进行安装,以便能够使用新版本的新特性;老旧应用升级安装,应在测试环境充分测试,并使用最近生产环境数据进行充分验证。
    • Ubuntu系统选择ubuntu linuxCentOS选择Red Hat Enterprise Linux / Oracle Linux;编译安装选择Source Code
  3. 版本选择:

    • 新的应用安装,应尽量选择最新的GA版本进行安装,以便能够使用新版本的新特性;老旧应用升级安装,应在测试环境充分测试,并使用最近生产环境数据进行充分验证。
    • Ubuntu系统选择ubuntu linuxCentOS选择Red Hat Enterprise Linux / Oracle Linux;编译安装选择Source Code

二、多种方式安装

RPM包安装

  1. 安装mysql-community-common-8.0.28-1.el7.x86_64.rpmrpm -ivh mysql-community-common-8.0.28-1.el7.x86_64.rpm
  2. 安装mysql-community-client-plugins-8.0.28-1.el7.x86_64.rpmrpm -ivh mysql-community-client-plugins-8.0.28-1.el7.x86_64.rpm
  3. 安装mysql-community-libs-8.0.28-1.el7.x86_64.rpmrpm -ivh mysql-community-libs-8.0.28-1.el7.x86_64.rpm
  4. 安装mysql-community-client-8.0.28-1.el7.x86_64.rpmrpm -ivh mysql-community-client-8.0.28-1.el7.x86_64.rpm
  5. 安装mysql-community-icu-data-files-8.0.28-1.el7.x86_64.rpmmysql-community-icu-data-files-8.0.28-1.el7.x86_64.rpm
  6. 安装mysql-community-server-8.0.28-1.el7.x86_64.rpmrpm -ivh mysql-community-server-8.0.28-1.el7.x86_64.rpm
  7. 一键安装sudo yum install mysql-community-{server,client,common,libs,icu}-*

二进制文件安装

  1. 移除mariadbrpm -e mariadb-libs-5.5.68-1.el7.x86_64yum remove mariadb-libs-5.5.68-1.el7.x86_64
  2. 解压tar.gztar -zxvf mysql-8.0.28-el7-x86_64.tar.gz
  3. 重命名文件mv mysql-8.0.28-el7-x86_64 mysql-8.0.28
  4. 添加mysql用户和组groupadd mysql && useradd -M -g mysql mysql
  5. 更改mysql解压后目录所属用户chown -R mysql:mysql mysql-8.0.28
  6. 初始化mysql,./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql-8.0.28/ --datadir= /var/lib/mysql/
  7. 设置全局变量,ln -s /usr/local/mysql-8.0.28/bin/mysql /usr/local/bin/, 或 export PATH=$PATH:/usr/local/mysql-8.0.28/bin
  8. vim /etc/profile 添加 export PATH=$PATH:/opt/software/mysql-8.0.28/bin
  9. 设置为service服务,cp /usr/local/mysql-8.0.28/support-file/mysql.server /etc/init.d/mysqld,修改basedirdatadir
  10. 设置开机自启,chkconfig mysqld on。取消自启,chkconfig mysqld off

Deb包安装

  1. 下载mysql-server_5.7.37-1ubuntu18.04_amd64.deb-bundle.tar,并解压

  2. 安装依赖apt install libaio1 libmecab2

  3. 按顺序安装deb

    dpkg -i libmysqlclient20_5.7.37-1ubuntu18.04_amd64.deb
    dpkg -i libmysqlclient-dev_5.7.37-1ubuntu18.04_amd64.deb
    dpkg -i libmysqld-dev_5.7.37-1ubuntu18.04_amd64.deb
    dpkg -i mysql-common_5.7.37-1ubuntu18.04_amd64.deb
    dpkg -i mysql-community-source_5.7.37-1ubuntu18.04_amd64.deb
    dpkg -i mysql-community-client_5.7.37-1ubuntu18.04_amd64.deb
    dpkg -i mysql-client_5.7.37-1ubuntu18.04_amd64.deb
    

YUM源安装

  1. 执行sudo yum repolist enabled| grep mysql查看本地yum源配置,如当前启用的是MySQL5.7,禁用即可

    # 查看当前YUM源,可以看到当前有5.7和8.0两个版本
    sudo yum repolist enabled | grep mysql
    # mysql57-community/x86_64            MySQL 5.7 Community Server   enabled:    540
    # mysql80-community/x86_64            MySQL 8.0 Community Server   enabled:    303
    
    # 禁用5.7YUM源,修改/etc/yum.repos.d/mysql-community.repo,将5.7版本的源enabled值改为0
    [mysql57-community]
    name=MySQL 5.7 Community Server
    baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/
    # enabled=1
    enabled=0
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2022
           file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
    
  2. 如果没有8.0版本的源,在/etc/yum.repos.d/mysql-community.repo添加如下配置即可:

    [mysql80-community]
    name=MySQL 8.0 Community Server
    baseurl=http://repo.mysql.com/yum/mysql-8.0-community/el/7/$basearch/
    enabled=1
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2022
           file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
    
  3. 执行sudo yum install mysql-community-server,安装MySQL。其中 mysql-community-client mysql-community-common mysql-community-libs会作为依赖一起安装。

三、验证安装

  1. 查看mysql版本,mysql --verison

四、启动MySQL服务

  1. 不同的安装方式,有不同的启动流程:
    1. rpmyumDeb安装,执行sudo service mysqld start
    2. 二进制文件安装:
      • 先进行初始化./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql-8.0.28/ --datadir=/var/lib/mysql/
      • 添加service服务脚本,cp /usr/local/mysql-8.0.28/support-file/mysql.server /etc/init.d/mysqld,修改basedirdatadir
      • 启动mysqldsudo service mysqld start
  2. 查看服务状态,sudo service mysqld status
  3. 停止服务,sudo service mysqld stop
  4. 重启服务,sudo service mysqld restart
  5. 设置开机启动sudo systemctl enable mysqld,查看开机启动状态sudo systemctl list-unit-files | grep mysqld,禁止开机启动sudo systemctl disable mysqld
  6. 通过yumrpm安装的service服务脚本默认目录为/usr/lib/systemd/system/mysqld.service

五、验证服务

  1. 初始化root密码是随机生成的,可在$log-error(默认值为:/var/log/mysqld.log)中,使用sudo cat /var/log/mysqld.log | grep temporary获得

  2. 初始化的root密码是临时的,需要登陆命令行,进行重置,才能进行后续操作。重置root密码的SQL

    -- 生产切记使用较复杂的密码
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'Pa4word!';
    
  3. 验证服务状态:

    1. 使用mysql命令行连接,mysql -u root -p
    2. 随意执行一条查询SQL,或者执行mysqladmin -u root -p version

六、异常处理

  1. 出现mariadb-libs is obsoleted by mysql-community-libs-8.0.28-1.el7.x86_64,需要移除mariadb执行yum remove mysql-libs

  2. Yum安装出现Error: Package: mysql-community-client-plugins-8.0.29-1.el6.x86_64 (mysql80-community) Requires: libsasl2.so.2()(64bit)Error: Package: mysql-community-client-plugins-8.0.29-1.el6.x86_64 (mysql80-community) Requires: libudev.so.0()(64bit),检查/etc/yum.repos.d/mysql-community.repo,官方给的是el6版本的源。

    如果使用的是Centos7,将baseurl=http://repo.mysql.com/yum/mysql-8.0-community/el/6/$basearch/改为baseurl=http://repo.mysql.com/yum/mysql-8.0-community/el/7/$basearch/

  3. 出现GPG key retrieval failed: [Errno 14] curl#37 - "Couldn't open file /etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2022",有两种解决办法:

    1. 更改/etc/yum.repos.d/mysql-community.repo,将gpgcheck值改为0
    2. gpgkey存储在/etc/yum.repos.d/mysql-community.repo,指定的目录。如果本地不存在执行sudo wget -O /etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2022 https://repo.mysql.com/RPM-GPG-KEY-mysql-2022进行下载
  4. 出现GPG key retrieval failed: [Errno 14] curl#37 - "Couldn't open file /etc/pki/rpm-gpg/RPM-GPG-KEY-mysql",有两种解决办法:

    1. 更改/etc/yum.repos.d/mysql-community.repo,将gpgcheck值改为0
    2. gpgkey存储在/etc/yum.repos.d/mysql-community.repo,指定的目录。如果本地不存在执行sudo wget -O /etc/pki/rpm-gpg/RPM-GPG-KEY-mysql https://repo.mysql.com/RPM-GPG-KEY-mysql进行下载
  5. 出现Can't create test file /data/mysql/mysqld_tmp_file_case_insensitive_test.lower-test,需要关闭系统SELinux

  6. 远程无法连接,执行以下操作:

    -- 创建连接用户
    create user 'root'@'%' identified by '123456'; -- IP规则可以使用`%`、`127.0.0.%`、`127.0.%.%`等
    
    -- 授权用户访问权限
    grant all privileges on *.* to 'root'@'%' with grant option;
    
    -- 刷新系统权限
    flush privileges;
    
  7. /etc/init.d/mysqld: line 239: my_print_defaults: command not found,编辑support-files/mysql.server,将basedirdatadir补充完整即可。

  8. You must reset your password using ALTER USER statement before executing this statement初次需要修改密码

    ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
    
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值