Mysql 数据库-安装包-离线-下载-安装-教程(Linux环境) 未完待续...

背景

在Linux 环境以离线方式安装Mysql服务

准备材料

需要事先下载好离线安装包
官网链接:下载链接
选择合适的版本,本次教程以5.7.23版本进行安装说明
在这里插入图片描述

上传安装包在服务器指定目录

使用 Xftp 工具上传安装包到服务器,我这里以上传到 /root 目录
在这里插入图片描述

解压缩安装包到指定目录

此处教程是解压到 /usr/local/mysql 目录,根据个人而定,也可以解压到其他目录

# 创建目录
[root@localhost ~]# mkdir -p /usr/local/mysql
# 解压缩
[root@localhost ~]# tar zxvf /root/mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz -C /usr/local/mysql/

重命名文件目录

[root@localhost ~]# cd /usr/local/mysql/ && mv mysql-5.7.23-linux-glibc2.12-x86_64 mysql-5.7.23

创建data目录和logs目录,用于存放数据文件和日志文件

# 根据实际需要创建目录,一般数据目录与安装目录分开,卸载数据库后,数据文件依然存在
[root@localhost ~]# mkdir -p /usr/local/mysql/data
[root@localhost ~]# mkdir -p /usr/local/mysql/logs

创建mysql用户、mysql用户组

# 创建mysql用户组
[root@localhost ~]# groupadd mysql
# 创建mysql用户,并添加到mysql组
[root@localhost ~]# useradd mysql -g mysql

将安装目录,归属于mysql用户和mysql组

[root@localhost ~]# chown -R mysql:mysql /usr/local/mysql

配置my.cnf文件

1、在目录下创建my_init.cnf配置文件
[root@localhost support-files]# cd /usr/local/mysql/mysql-5.7.23/support-files/
[root@localhost support-files]# vi my_init.cnf
2、输入下述内容:
[mysqld]
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 
# 基础目录(路径精确到安装包目录名)
basedir = /usr/local/mysql/mysql-5.7.23
# 数据文件存放目录(可以自由指定,但需要事先创建目录,并赋权限)
datadir = /usr/local/mysql/data
# 消息目录(读取安装包里的share目录)
lc-messages-dir=/usr/local/mysql/mysql-5.7.23/share
# 数据库服务端口
port = 3306
socket = /tmp/mysql.sock
character-set-server=utf8
# 日志存放目录(可以自由指定,但需要事先创建目录,并赋权限)
log-error = /usr/local/mysql/logs/mysqld.log
pid-file = /usr/local/mysql/mysqld.pid
3、备份原始文件
[root@localhost support-files]# mv /etc/my.cnf /etc/my.cnf_bak
4、复制my_init.cnf到/etc目录下
[root@localhost support-files]# cp my_init.cnf /etc/my.cnf
[root@localhost support-files]# cat /etc/my.cnf

初始化数据库

[root@localhost mysql-5.7.23]# cd /usr/local/mysql/mysql-5.7.23/
# 注意前面的点号  ./ 表示执行命令
[root@localhost mysql-5.7.23]# ./bin/mysqld --user=mysql --basedir=/usr/local/mysql-5.7.23 --datadir=/usr/local/mysql/data --initialize

查看日志

可以看到 用户初始密码

[root@localhost logs]# cd /usr/local/mysql/logs/
[root@localhost logs]# less mysqld.log
2022-04-30T06:09:51.981619Z 1 [Note] A temporary password is generated for root@localhost: %m1*Kb>?mQ<!

将mysql加入服务

[root@localhost init.d]# cp /usr/local/mysql/mysql-5.7.23/support-files/mysql.server /etc/init.d/mysql

设置开机自启动(可选)

[root@localhost init.d]# chkconfig mysql on

启动服务

[root@localhost init.d]# service mysql start
Starting MySQL.... SUCCESS! 

root用户登录mysql

密码是上述日志 mysqld.log 里看到的初始密码

[root@localhost mysql-5.7.23]# cd /usr/local/mysql/mysql-5.7.23/
[root@localhost mysql-5.7.23]# ./bin/mysql -u root -p 
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.23
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> 

重置密码(必须)

此处将密码重置为 111111,退出;

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '111111';
Query OK, 0 rows affected (0.00 sec)

mysql> exit;

允许远程连接

mysql> use mysql
mysql> update user set host='%' where user = 'root';
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> exit;

重启mysql

[root@localhost mysql-5.7.23]# service mysql restart
Shutting down MySQL.. SUCCESS! 
Starting MySQL.... SUCCESS! 
[root@localhost mysql-5.7.23]# 
====================== 分割线 ===========================

常见报错信息信息!!!!

[root@localhost mysql-5.7.23]# ./bin/mysqld --user=mysql --basedir=/usr/local/mysql-5.7.23 --datadir=/usr/local/mysql/data --initialize
2022-04-30T05:07:53.388101Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2022-04-30T05:07:53.388630Z 0 [Warning] 'NO_ZERO_DATE', 'NO_ZERO_IN_DATE' and 'ERROR_FOR_DIVISION_BY_ZERO' sql modes should be used with strict mode. They will be merged with strict mode in a future release.
2022-04-30T05:07:53.388666Z 0 [Warning] 'NO_AUTO_CREATE_USER' sql mode was not set.
2022-04-30T05:07:53.389341Z 0 [ERROR] Can't find error-message file '/usr/local/mysql-5.7.23/share/errmsg.sys'. Check error-message file location and 'lc-messages-dir' configuration directive.
2022-04-30T05:07:53.394164Z 0 [ERROR] --initialize specified but the data directory has files in it. Aborting.
2022-04-30T05:07:53.394265Z 0 [ERROR] Aborting

解决方案:
1、查找errmsg.sys文件,发现目录是 /usr/local/mysql/mysql-5.7.23/share/

[root@localhost share]#  find / -name errmsg.sys
/usr/local/mysql/mysql-5.7.23/share/bulgarian/errmsg.sys
/usr/local/mysql/mysql-5.7.23/share/czech/errmsg.sys
/usr/local/mysql/mysql-5.7.23/share/danish/errmsg.sys
/usr/local/mysql/mysql-5.7.23/share/dutch/errmsg.sys
/usr/local/mysql/mysql-5.7.23/share/english/errmsg.sys

2、因此,在 /etc/my.cnf 添加配置 lc-messages-dir

lc-messages-dir=/usr/local/mysql/mysql-5.7.23/share
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值