Linux离线安装MySQL

Linux离线安装MySQL

下载安装包

MySQL离线安装包下载地址:https://dev.mysql.com/downloads/mysql/
在这里插入图片描述

在安装过程,经常会报error while loading shared libraries: libaio.so.1,这是由于缺少libaio库,下载地址:http://www.rpmfind.net/linux/rpm2html/search.php?query=libaio(x86-64)

安装

  1. 将mysql和libaio安装包都上传到指定服务器;

  2. 解压mysql包,如果是xz后缀的文件不要认为成了gz,它就是个普通的tar包,使用tar -xvf解压就行;

  3. 将解压出来的目录移动到/usr/local目录下,并修改目录名为mysql,命令示例:mv mysql-8.0.25-linux-glibc2.12-x86_64 /usr/local/mysql
    注意:这里直接移动到此目录是为了后续方便安装,因为mysql默认的日志、数据等目录都定义在此目录下,如果在别的目录,后续安装修改起来就非常麻烦,这里也需要注意一下目录空间的规划;

  4. 安装libaio库:rpm -ivh libaio-0.3.112-1.el8.x86_64.rpm

  5. 创建mysql配置文件,此配置需要手动创建:vi /etc/my.cnf,在文件中写入如下信息:
    [client]
    default-character-set=utf8mb4
    port=3306
    socket=/var/lib/mysql/mysql.sock

    [mysql]
    default-character-set=utf8mb4

    [mysqld]
    server-id=1
    port=3306
    user=root
    socket=/var/lib/mysql/mysql.sock
    basedir=/usr/local/mysql
    datadir=/usr/local/mysql/data

    # default 100
    max_connections=1000

    # default 16M
    key_buffer_size=64M

    # default 128M
    innodb_buffer_pool_size=128M

    # The maximum packet size that the client can send
    max_allowed_packet=128M
    max_connect_errors=1000
    lower_case_table_names=1

  6. 创建mysql目录和用户;
    groupadd mysqlgroup;
    useradd -g mysqlgroup mysql;
    mkdir -p /var/lib/mysql;
    chown -R mysql:mysqlgroup /var/lib/mysql;
    ln -s /usr/local/mysql/bin/mysql /usr/bin; // 创建mysql命令的软链接

    注意:一定要创建一个非root的用户来安装,mysql不允许以root用户运行

  7. 初始化mysql
    /usr/local/mysql/bin/mysqld --initialize --user=mysql --lower-case-table-names=1 --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
    执行过程中会出现一个初始密码,如图,需要记录下来,后面有用:
    在这里插入图片描述
    注意:–lower-case-table-names=1参数一定要注意,必须和my.cnf中的lower_case_table_names配置参数保持一致,且此参数必须在初始化和my.cnf配置文件中同时设置,任意一边不设置或值不相同都会导致安装失败。值为1时表示对表名和字段名等大小写不敏感,不为1时,比如在对表进行增删改查时,大小写敏感,一个字母大小写不对就会导致报错。

  8. 启动mysql
    /usr/local/mysql/support-files/mysql.server start
    stop停止服务,restart重启服务

  9. 修改默认设置
    登录mysql:mysql -uroot -p – 回车后输入之前记录的初始密码
    登录完成后执行如下语句:
    --修改初始密码并设置密码永不过期
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;

    --修改加密规则,不修改将无法使用Navicat工具登录
    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

    use mysql;
    --开启远程访问,host从localhost修改为%,若不修改,远程访问无法连接
    update user set host='%' where user='root';

    --赋予执行XA RECOVER语句的权限,不修改将无法使用XADataSource处理分布式事务
    GRANT XA_RECOVER_ADMIN ON . TO root@'%';
    commit;
    FLUSH PRIVILEGES;
    exit;

### Linux环境下MySQL离线安装 #### 下载MySQL安装包 为了在Linux环境中实现MySQL离线安装,第一步是从官方渠道获取适用于目标操作系统的MySQL版本。对于CentOS这类系统而言,推荐下载`.tar.gz`格式的文件[^1]。 ```bash wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.29-linux-glibc2.12-x86_64.tar.xz ``` #### 安装依赖项 确保所有必要的依赖库已经被正确安装于操作系统之上,这是顺利完成MySQL部署的前提条件之一。 #### 传输并解压安装包 将已下载好的MySQL压缩包通过SCP或者其他方式传送到待安装的目标服务器上的指定位置(如`/usr/local`),随后执行解压操作: ```bash tar -zxvf /path/to/mysql-version-osarch.tar.gz -C /usr/local/ mv /usr/local/mysql-version-osarch /usr/local/mysql ``` 此过程会把软件包释放至当前工作路径,并重命名为更简洁的名字以便后续管理[^3]。 #### 配置防火墙规则 考虑到安全性因素,在某些场景下可能需要调整防火墙配置来允许MySQL服务正常运行。如果有启用UFW,则可以通过下面这条指令暂时关闭它以简化初次设置流程: ```bash sudo ufw disable ``` 请注意这一步骤并非强制性的,具体取决于实际网络环境的安全策略需求[^4]。 #### 设置开机自动启动 为了让MySQL能够在每次重启之后无需手动干预即能自行启动,可以按照特定发行版的方法将其加入初始化脚本或systemd单元文件中去。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值