[Linux服务器] Linux下安装MySQL8.0

1328 0
Honkers 2025-3-8 09:59:49 | 显示全部楼层 |阅读模式

一、安装

1.下载安装包

先创建一个mysql目录,在将压缩包下载到此

  1. # 下载tar包
  2. wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz
复制代码

等待下载成功

2.解压mysql8.0安装包

  1. tar xvJf mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz
复制代码

查看版本

mysql --version

3.重命名解压出来的文件夹

这里改成mysql-8.0

  1. mv mysql-8.0.20-linux-glibc2.12-x86_64 mysql-8.0
复制代码

在/mysql-8.0文件夹下创建data文件夹 存储文件

  1. mkdir data
复制代码

4.分别创建用户组以及用户和密码

(如果提示已存在说明之前有创建过了)

  1. groupadd mysql
  2. useradd -g mysql mysql
复制代码

授权刚刚新建的用户

  1. chown -R mysql.mysql /opt/mysql/mysql-8.0
  2. chmod 750 /opt/mysql/mysql-8.0/data -R
复制代码

5.始化数据库

  1. bin/mysqld --initialize --user=mysql --basedir=/opt/mysql/mysql-8.0 --datadir=/opt/mysql/mysql-8.0/data
复制代码

注:运行指令后将会出现如下输出,记住临时密码,每次运行上述指令生成的临时密码都不一样,我这里是:7Jl44eCeJ!.u

可能会出现的问题:

解决方法:

  1. # 检查库是否安装
  2. rpm -qa|grep libaio
  3. # 安装库
  4. yum install libaio-devel.x86_64
复制代码

6.编辑配置文件my.cnf

  1. vim /etc/my.cnf
复制代码
  1. [mysqld]
  2. basedir=/usr/local/mysql8
  3. datadir=/usr/local/mysql8/data
  4. socket=/tmp/mysql.sock
  5. character-set-server=utf8
  6. default_authentication_plugin=mysql_native_password
  7. port=3306
复制代码

7.创建MySQL服务

添加Mysql到系统服务(当前目录应为:/usr/local/mysql8)

  1. cp -a ./support-files/mysql.server /etc/init.d/mysql
  2. chmod +x /etc/init.d/mysql
  3. chkconfig --add mysql
复制代码

检查服务是否生效

  1. chkconfig --list mysql
复制代码

二、启动服务调整配置

1.启动服务

启动服务

  1. service mysql start
复制代码

这里可能出现的问题:

解决办法:

  1. mkdir /var/log/mariadb
  2. touch /var/log/mariadb/mariadb.log
  3. # mysql 用户和用户对目录进行授权
  4. chown -R mysql:mysql /var/log/mariadb/
  5. # 再次启动mysql服务,每次开机后,要手动启动一下
  6. /opt/mysql/mysql-8.0/support-files/mysql.server start
复制代码

查看状态

  1. service mysql status
复制代码

2.修改密码

登录mysql可能会出现如下错误

解决办法:

  1. ln -s /opt/mysql/mysql-8.0/bin/mysql /usr/bin
复制代码

登录mysql

  1. mysql -uroot -p
复制代码

输入或粘贴之前记录的临时密码并回车:7Jl44eCeJ!.u

修改密码

  1. ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
  2. # 例如
  3. ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '654321';
复制代码

3.添加远程登录配置

  1. create user root@'%' identified by '新密码';
  2. grant all privileges on *.* to root@'%' with grant option;
  3. # 例如
  4. create user root@'%' identified by '654321';
  5. grant all privileges on *.* to root@'%' with grant option;
复制代码

root表示想要被连接的数据库的用户名

其中“%”表示允许所有机器能访问root用户

刷新权限

  1. flush privileges;
复制代码

查看设置结果

  1. use mysql;
  2. select host,user,plugin,authentication_string from user;
复制代码

4.开放防火墙3306端口

到这里mysql已经可以本地连接上了,但是要用图形化界面远程连接,还需要开发防火墙的3306端口才行

–permanent代表永久生效,否则重启linux后则需要再次开启

firewall-cmd --add-port=3306/tcp --permanent

firewall-cmd --reload

查看防火墙端口开放状态

firewall-cmd --list-all

自此在linux系统上安装mysql8已经完成,并且可以使用图形化界面远程连接

5.添加全局环境变量

编辑 / etc/profile 文件

  1. vi /etc/profile
复制代码

在文件底部添加,保存退出

  1. export PATH=$PATH:/opt/mysql/mysql-8.0/bin:/opt/mysql/mysql-8.0/lib
  2. export PATH
复制代码

刷新配置

  1. source /etc/profile
复制代码

Navicat 连接mysql

参考:

Linux下安装MySQL8.0的详细步骤(解压tar.xz安装包方式安装)

Linux安装MySQL8

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

中国红客联盟公众号

联系站长QQ:5520533

admin@chnhonker.com
Copyright © 2001-2026 Discuz Team. Powered by Discuz! X3.5 ( 粤ICP备13060014号 )|天天打卡 本站已运行