在linux服务器上离线安装mysql

在linux服务器上离线安装mysql

mysql安装包的下载地址:

https://downloads.mysql.com/archives/community/在这里插入图片描述

1.卸载系统自带的Mariadb数据库

# 进入/opt目录
cd /opt
# 查看系统是否自带Mariadb数据库
rpm -qa|grep mariadb
mariadb-libs-5.5.60-1.el7_5.x86_64
# 卸载自带的Mariadb数据库
rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64

2.将mysql安装包传输到服务器的/usr/local目录下

# 解压到当前目录
tar -zxvf mysql-5.7.29-linux-glibc2.12-x86_64.tar.gz
# 将解压出的目录名改为mysql
mv mysql-5.7.29-linux-glibc2.12-x86_64 mysql

3.创建mysql用户组和mysql用户

# 创建名为mysql的用户组
groupadd mysql
# 创建名为mysql的用户并关联至名为mysql的用户组
useradd -g mysql mysql
# 进去/usr/local/目录
cd /usr/local/
# ./mysql目录更改用户和用户组
chown -R mysql mysql/
chgrp -R mysql mysql/
# 进入mysql目录
cd mysql/
# 创建data目录
mkdir data
#./data目录更改用户和用户组 
chown -R mysql:mysql data

4.配置my.cnf文件

:socket = /usr/local/mysql/mysql.sock,如果这个文件位置没有mysql.sock就从/tmp/mysql.sock复制到/usr/local/mysql/mysql.sock
4.1找到my.cnf文件

# 进入mysql的根目录
cd /usr/local/mysql
# 编辑配置文件
vi my.cnf

4.2 配置文件中主要修改的参数如下

#客户端设置
[client]
port = 3306
# 默认情况下,socket文件应为/usr/local/mysql/mysql.socket,所以可以ln -s xx  /tmp/mysql.sock    如果这样不行的话,直接让socket=/tmp/mysql.sock试试
socket = /usr/local/mysql/mysql.sock

# 服务端设置
[mysqld]
# 启动mysql服务进程的用户
user = mysql
# 安装目录相关
# mysql安装根目录
basedir = /usr/local/mysql
# mysql数据文件所在位置
datadir = /usr/local/mysql/data
# 临时目录 比如load data infile会用到,一般都是使用/tmp
tmpdir  = /tmp
# 设置socke文件地址,如果这样不行的话,直接让socket=/tmp/mysql.sock试试
socket = /usr/local/mysql/mysql.sock

5.初始化
5.1. 如果缺少libaio包(查看命令:rpm -qa|grep libaio),则下载(自己百度上下载)libaio包到/opt,并安装:

rpm -ivh libaio-0.3.107-10.el6.x86_64.rpm

5.2. 初始化操作:

# 进入mysql根目录
cd /usr/local/mysql
# 进行初始化
./bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize

# 初始化成功后得到如下结果
2020-03-05T10:06:08.020657Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2020-03-05T10:06:08.839468Z 0 [Warning] InnoDB: New log files created, LSN=45790
2020-03-05T10:06:09.620849Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2020-03-05T10:06:09.692826Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: efbe7524-5ec8-11ea-ac88-fa163e89a91f.
2020-03-05T10:06:09.739332Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2020-03-05T10:06:10.688256Z 0 [Warning] CA certificate ca.pem is self signed.
2020-03-05T10:06:10.850506Z 1 [Note] A temporary password is generated for root@localhost: NLpi%J0pdOgo

# 切记!!!
root@localhost: NLpi%J0pdOgo 就是root用户初始化的密码,需要先保存记住了,下面要用。

6. 开启服务

6.1. 将mysql加入服务

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

6.2. 开机自启

chkconfig mysql on

chown -R mysql:mysql /usr/local/mysql

6.3. 初次启动(任意目录下都行,不行就去mysql的bin目录下执行)

service mysql start
# service mysql status  查看服务状态
# service mysql stop    停止服务

7. 设置密码

7.1. 登陆进吗mysql服务

# 密码是上面给的随机分配的密码
/usr/local/mysql/bin/mysql -u root -p

**注:**如果登陆时报错:
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2)
那么执行命令建立软连接并重新登陆
ln -s /usr/local/mysql/mysql.sock /tmp/mysql.sock

7.2. 设置新的密码

# 设置密码
alter user 'root'@'localhost' identified by '需要设置的密码';
# 刷新,一定记得刷新!!!
flush privileges;
# 退出
exit;

8. 允许远程连接

# 登录(此时的密码是你新设置的密码!!!)
/usr/local/mysql/bin/mysql -u root -p
# 选择名为 mysql 的 dababase
use mysql;
# 设置远程访问, % 代表任意ip都可以访问
update user set host='%' where user = 'root';
# 刷新,一定记得刷新哦!!!
flush privileges;
# 可以查看下是否设置成功
select host,user from user where user='root';
# 退出服务
exit;
<think>好的,我现在需要帮用户解决如何在Linux服务器离线安装MySQL的问题。用户明确要求的是离线安装包或指南,所以我得先回忆一下MySQL的官方资源和常见的离线安装方法。 首先,MySQL官方提供了适用于不同Linux发行版的RPM和DEB包,这些应该可以在没有网络的情况下安装。记得用户可能需要下载合适的版本,比如社区版,然后手动传输到服务器上。我应该检查是否有官方文档支持这一点,比如下载Bundle RPM或者DEB包。 接下来,用户可能使用的Linux发行版不同,比如CentOS/RHEL用RPM,Ubuntu/Debian用DEB,所以需要分别说明步骤。另外,安装过程中依赖项的问题可能会影响离线安装,可能需要用户提前下载所有依赖包,或者使用离线包集合。 然后,有没有第三方工具或者镜像源提供离线安装的支持?比如某些镜像站点可能有完整的仓库快照,用户可以下载后配置本地源。这个方法可能更简便,但需要用户有足够的存储空间和配置本地repo的能力。 另外,安装后的初始化步骤也很重要,比如运行mysql_secure_installation来设置root密码,以及配置开机启动服务。这部分需要详细说明,确保用户完成安装后能正确配置MySQL。 可能的问题包括依赖项缺失、版本不兼容、权限问题等,需要提醒用户注意检查依赖,使用正确的包版本,并按照指南操作。同时,如果用户需要特定版本的MySQL,应该指导他们到官网的历史版本部分查找。 还要考虑用户是否有root权限,因为安装软件通常需要sudo或root访问。如果用户没有,可能需要采用其他方法,比如编译安装,但离线编译可能更复杂,依赖更多,所以可能不推荐。 最后,生成的相关问题需要覆盖用户可能进一步的需求,比如配置、优化、远程访问、数据迁移以及特定版本的安装方法,这样用户能在一个地方找到后续步骤的指引。</think>以下是关于在Linux服务器离线安装MySQL的详细指南: ### 一、MySQL离线安装方法 1. **下载官方离线包** 访问MySQL官方下载页面: $$ \text{https://dev.mysql.com/downloads/mysql/} $$ 选择对应的Linux发行版(如RPM Bundle或DEB Bundle),下载包含所有依赖的完整安装包[^1]。 2. **CentOS/RHEL系统安装步骤: ```bash # 上传安装包到服务器 $ scp mysql-8.0.36-1.el7.x86_64.rpm-bundle.tar root@yourserver:/tmp # 解压安装包 $ tar -xvf mysql-8.0.36-1.el7.x86_64.rpm-bundle.tar # 安装依赖 $ rpm -ivh mysql-community-common-*.rpm $ rpm -ivh mysql-community-client-plugins-*.rpm $ rpm -ivh mysql-community-libs-*.rpm $ rpm -ivh mysql-community-client-*.rpm $ rpm -ivh mysql-community-icu-data-files-*.rpm $ rpm -ivh mysql-community-server-*.rpm ``` 3. **Ubuntu/Debian系统安装: ```bash # 安装本地deb包 $ sudo dpkg -i mysql-apt-config_0.8.28-1_all.deb $ sudo dpkg -i mysql-community-server_8.0.36-1ubuntu22.04_amd64.deb ``` ### 二、初始化配置 1. 启动MySQL服务: ```bash $ systemctl start mysqld ``` 2. 获取临时密码: ```bash $ grep 'temporary password' /var/log/mysqld.log ``` 3. 安全初始化: ```bash $ mysql_secure_installation ``` ### 三、注意事项 1. 安装前需确认glibc等系统依赖版本 2. 推荐使用与系统完全匹配的安装包版本 3. 可通过`ldd`命令检查动态库依赖关系
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值