Linux下离线安装mysql8

公司服务器无法连接外网,有专门的文件管理器,可以上传本地文件,学习离线安装后记录如下

1、在 local 创建 mysql 文件夹

cd /usr/local
mkdir mysql
cd mysql

2、使用 wget 下载 mysql8.0 的 xz 安装包

wget https://cdn.mysql.com/archives/mysql-8.0/mysql-8.0.23-el7-x86_64.tar.gz

或者本地下载上传
mysql8下载

3、解压

tar -zxvf mysql-8.0.23-el7-x86_64.tar.gz

4、重命名解压后的 mysql 文件夹(名字太长了)

mv mysql-8.0.23-el7-x86_64 mysql8

5、创建 data 存储文件

cd mysql8
mkdir data

6、创建用户和用户组

groupadd mysql
useradd -g mysql mysql

7、给用户赋予权限

chown -R mysql.mysql /usr/local/mysql/mysql8

8、切换到 bin 目录下

cd /usr/local/mysql/mysql8/bin

9、初始化 mysql 基本信息

./mysqld --user=mysql --basedir=/usr/local/mysql/mysql8 --datadir=/usr/local/mysql/mysql8/data/ --initialize

10、获取到临时 mysql 密码

11、将 mysqld 服务添加到系统中

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

12、授权以及添加服务

chmod +x /etc/init.d/mysql
chkconfig --add mysql

13、mysql5.7 以后就没有 my.cnf 了,所以我们创建一个。(个人觉得方便一些)

vim /etc/my.cnf

# Example MySQL config file for small systems.  
#  
# This is for a system with little memory (<= 64M) where MySQL is only used  
# from time to time and it's important that the mysqld daemon  
# doesn't use much resources.  
#  
# MySQL programs look for option files in a set of  
# locations which depend on the deployment platform.  
# You can copy this option file to one of those  
# locations. For information about these locations, see:  
# http://dev.mysql.com/doc/mysql/en/option-files.html  
#  
# In this file, you can use all long options that a program supports.  
# If you want to know which options a program supports, run the program  
# with the "--help" option.  
 
# The following options will be passed to all MySQL clients  
[client]  
default-character-set=utf8  
#password   = k0Ui&wV(Z3yt
port        = 3306 
socket      = /tmp/mysql.sock  
 
# Here follows entries for some specific programs  
 
# The MySQL server   
[mysqld]  
 
#配置mysql的文件夹 和 mysql data目录
basedir=/usr/local/mysql/mysql8
datadir=/usr/local/mysql/mysql8/data
default-storage-engine=INNODB  
character-set-server=utf8  
collation-server=utf8_general_ci  
port        = 3306 
socket      = /tmp/mysql.sock  
skip-external-locking  
key_buffer_size = 16K  
max_allowed_packet = 1M  
table_open_cache = 4 
sort_buffer_size = 64K  
read_buffer_size = 256K  
read_rnd_buffer_size = 256K  
net_buffer_length = 2K  
thread_stack = 128K  
 
# Don't listen on a TCP/IP port at all. This can be a security enhancement,  
# if all processes that need to connect to mysqld run on the same host.  
# All interaction with mysqld must be made via Unix sockets or named pipes.  
# Note that using this option without enabling named pipes on Windows  
# (using the "enable-named-pipe" option) will render mysqld useless!  
#   
#skip-networking  
server-id   = 1 
 
# Uncomment the following if you want to log updates  
#log-bin=mysql-bin  
 
# binary logging format - mixed recommended  
#binlog_format=mixed  
 
# Causes updates to non-transactional engines using statement format to be  
# written directly to binary log. Before using this option make sure that  
# there are no dependencies between transactional and non-transactional  
# tables such as in the statement INSERT INTO t_myisam SELECT * FROM  
# t_innodb; otherwise, slaves may diverge from the master.  
#binlog_direct_non_transactional_updates=TRUE  
 
# Uncomment the following if you are using InnoDB tables  
#innodb_data_home_dir = /usr/local/mysql/data  
#innodb_data_file_path = ibdata1:10M:autoextend  
#innodb_log_group_home_dir = /usr/local/mysql/data  
# You can set .._buffer_pool_size up to 50 - 80 %  
# of RAM but beware of setting memory usage too high  
#innodb_buffer_pool_size = 16M  
#innodb_additional_mem_pool_size = 2M  
# Set .._log_file_size to 25 % of buffer pool size  
#innodb_log_file_size = 5M  
#innodb_log_buffer_size = 8M  
#innodb_flush_log_at_trx_commit = 1 
#innodb_lock_wait_timeout = 50 
 
[mysqldump]  
quick  
max_allowed_packet = 16M  
 
[mysql]  
no-auto-rehash  
# Remove the next comment character if you are not familiar with SQL  
#safe-updates  
 
[myisamchk]  
key_buffer_size = 8M  
sort_buffer_size = 8M  
 
[mysqlhotcopy]  
interactive-timeout

*设置my.cnf权限

sudo chmod 664 /etc/my.cnf

4、启动mysql服务

service mysql start

如果出现下面报错

解决

/var/lock/subsys/下mysql文件删除

5、查看mysql服务状态

service mysql status

6、将mysql命令添加到服务

ln -s /usr/local/mysql/mysql8/bin/mysql /usr/bin

1、登录 密码使用之前随机生成的密码

mysql mysql -uroot -p

2、修改管理员密码 其中123456是新的密码自己设置

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';

3、重新加载缓存,使密码生效

flush privileges;

4、退出mysql,用新密码尝试登录管理员

update user set host='%' where user='root';

flush privileges;
  • 5
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
如果你的 Linux 主机没有网络连接,你可以使用离线方式安装 MySQL。下面是一个基本的步骤指南: 1. 在另一台有网络连接的计算机上,下载 MySQL离线安装包(tar.gz 格式)和对应的依赖包。 2. 将下载的离线安装包和依赖包复制到目标 Linux 主机上,可以使用 USB 存储设备或其他传输方式。 3. 在目标 Linux 主机上,打开终端,并进入存放安装包的目录。 4. 解压 MySQL 安装包,可以执行以下命令: ``` tar -zxvf mysql-<version>.tar.gz ``` 5. 进入解压后的 MySQL 目录: ``` cd mysql-<version> ``` 6. 创建 MySQL 的数据存储目录和日志目录: ``` mkdir /var/lib/mysql mkdir /var/log/mysql ``` 7. 将解压后的依赖包复制到目标 Linux 主机上的 `/var/cache/apt/archives/` 目录中。 8. 安装 MySQL 的依赖包,可以执行以下命令: ``` sudo dpkg -i <dependency_package.deb> ``` 9. 配置 MySQL,可以执行以下命令: ``` sudo ./bin/mysqld --initialize --user=mysql --basedir=/path/to/mysql --datadir=/var/lib/mysql ``` 其中,`/path/to/mysql` 是你解压后的 MySQL 目录路径。 10. 设置 MySQL 的文件权限: ``` sudo chown -R mysql:mysql /var/lib/mysql sudo chown -R mysql:mysql /var/log/mysql ``` 11. 启动 MySQL 服务,可以执行以下命令: ``` sudo ./bin/mysqld_safe --user=mysql --basedir=/path/to/mysql --datadir=/var/lib/mysql & ``` 12. 连接到 MySQL 服务器,可以执行以下命令: ``` sudo ./bin/mysql -u root -p ``` 系统将提示你设置 MySQL root 用户密码。设置完成后,你就可以在 MySQL 命令行界面上执行数据库操作了。 请注意,以上步骤提供了基本的离线安装 MySQL 的指南。根据你的具体环境和需求,可能还需要进行其他配置和调整。建议参考 MySQL 官方文档以获取更详细和全面的安装步骤和配置说明。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

月光如春风拂面

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值