MYSQL 8.0的Linux - Generic版本安装

发布于:2024-05-01 ⋅ 阅读:(36) ⋅ 点赞:(0)

1.本文适用范围

适用于MYSQL 8.0的Linux - Generic版本,原则上适用所有的操作系统。已测试的操作系统包括:

  • Ubuntu 16.04
  • Ubuntu 18.04
  • Ubuntu 20.04
  • Ubuntu 22.04
  • Kylin Linux Advanced Server V10

注意:如果操作系统使用过包管理系统(如Yum或APT)安装过MySQL,请确保该MySQL安装已被完全卸载,否则安装会产生错误。

2.获取依赖库

  • MySQL依赖于libaio库、libncurses库和libtinfo库,因此需要提前进行安装。下载地址见:https://download.csdn.net/download/weixin_35804181/89210892
  • 下载后将库文件放入/usr/local/lib/,并执行ldconfig命令即可。

3.获取安装包

到MYSQL官网下载合适的安装包,官网访问地址:https://dev.mysql.com/downloads/mysql/。

3.1.下载合适的版本

​ 使用ldd命令确认glibc的版本,如下:

root@014:~# ldd --version
ldd (Ubuntu  GLIBC 2.35-0Ubuntu 3.1) 2.35
Copyright (C) 2022 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.

​ 由上面信息“GLIBC 2.35”可见版本为2.35,只要安装包版本低于2.35都可以使用。综合我的环境,这里选择的是"8.0.36 、Linux-Generic、Linux-Generic(glibc 2.17)(x86,64-bit) "的Minimal Install版本(mysql-8.0.36-linux-glibc2.17-x86_64-minimal.tar.xz)。下载地址:https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.36-linux-glibc2.17-x86_64-minimal.tar.xz

注意:Minimal Install版本不包括调试二进制文件,并且去掉了调试符号,因此包大小明显小于常规二进制发行版。

3.2.安装包结构说明

目录名称 目录内容
bin mysqld服务器、客户端和实用程序
docs Info格式的MySQL手册
man Unix手册页
include 头文件
lib 库文件
share 数据库安装的错误消息、字典和SQL
support-files 其他支持文件

4.安装数据库

4.1.创建mysql用户和组

groupadd mysql
useradd -r -g mysql -s /bin/false mysql #useradd -r -g mysql mysql

4.2.解压并安装

​ 将安装包进行解压,并安装到/usr/local/mysql目录(注意:目录位置不要修改,否则后续比较麻烦)

cd  [安装包( mysql-8.0.36-linux-glibc2.17-x86_64-minimaltar.xz)的目录]
tar  -xvf   mysql-8.0.36-linux-glibc2.17-x86_64-minimaltar.xz
mv   mysql-8.0.36-linux-glibc2.17-x86_64-minimal     /usr/local/mysql

4.3.创建MySQL相关目录并给予权限

mkdir  -p  /usr/local/mysql/data
mkdir  -p  /var/log/mysql
chown -R mysql:mysql /usr/local/mysql
chmod -R 750 /usr/local/mysql
chown -R mysql:mysql /var/log/mysql

4.4.修改可执行文件

if [ ! -f /usr/local/bin/mysql ];then
    ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql
    chmod 777 /usr/local/bin/mysql
fi
if [ ! -f /usr/local/bin/mysqldump ];then
    ln -s /usr/local/mysql/bin/mysqldump /usr/local/bin/mysqldump
    chmod 777 /usr/local/bin/mysqldump
fi

4.5.创建配置文件my.cnf

​ 在/etc目录下创建my.cnf文件,我已将我使用的文件上传,可以直接使用。下载:https://download.csdn.net/download/weixin_35804181/89211130

4.6.初始化Data目录

cd /usr/local/mysql && ./bin/mysqld --user=mysql --datadir=/usr/local/mysql/data --basedir= /usr/local/mysql --lower-case-table-names=1 --initialize-insecure

​ 命令执行后会在/usr/local/mysql/data目录中产生一系列文件,并且创建的root用户是没有密码的,因此需要在后续配置密码。

4.7.添加启动文件

cp /usr/local/mysql/support-files/mysql.server   /etc/init.d/mysql.server
chmod +x /etc/init.d/mysql.server
Debain版本添加启动服务的指令:
    update-rc.d mysql.server defaults 90
RHEL版本添加启动服务的指令:
    chkconfig --add mysql.server 

4.8.启动服务

/etc/init.d/mysql.server  start

4.9.验证

​ 使用mysql指令尝试进行连接,如mysql -uroot。如果成功则说明安装顺利。

5.配置参数

此处新密码以"jhn@KSJASDD_12345"为例,设置root密码,并允许远程登陆。

mysql -uroot -e "update mysql.user set host = '%' where user = 'root'"
mysql -uroot -e "flush privileges"
mysql -uroot -e "ALTER USER 'root'@'%' IDENTIFIED WITH MYSQL_NATIVE_PASSWORD BY 'jhn@KSJASDD_12345'"
mysql -uroot -e "flush privileges"
##运行外部IP连接
mysql -uroot -pjhn@KSJASDD_12345 -e "update mysql.user set host = '%' where user = 'root'"
mysql -uroot -pjhn@KSJASDD_12345 -e "flush privileges"
mysql -uroot -pjhn@KSJASDD_12345 -e "ALTER USER 'root'@'%' IDENTIFIED WITH MYSQL_NATIVE_PASSWORD BY 'jhn@KSJASDD_12345'"
mysql -uroot -pjhn@KSJASDD_12345 -e "flush privileges"

至此MYSQL的安装就算完成了,包括的开机自启动的设置、设置root密码和允许远程登陆。


网站公告

今日签到

点亮在社区的每一天
去签到