欧拉系统/Centos离线安装Mysql5.7并实现远程连接步骤
(---------真ex,csdn自动把我的文章设置为收费,吃木目太难看---------)
1.下载mysql安装包
下载地址:MySQL :: Download MySQL Community Server (Archived Versions)(下面19有网盘可自行选择)

2.上传
将下载的mysql安装包mysql-5.7.24-linux-glibc2.12-x86_64.tar通过ftp工具上传到linux主机上(我这里上传到/usr/local/目录下)。
3.解压
首先我们需要进入到/usr/local/目录下
cd /usr/local/
进入后,解压安装包(tar没有安装请见下面的19)
tar zxvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
4. 创建新的用户组和新的用户,用来管理mysql,提高安全性
添加用户组:mysql
groupadd mysql
添加用户:mysql
useradd -r -g mysql mysql
我们可以检验一下是否创建成功
id mysql
出现这个就是添加成功了

5.修改mysql文件夹名称
为了方便查看,修改一下mysql文件夹的名称:mysql5.7
mv mysql-5.7.24-linux-glibc2.12-x86_64 mysql5.7

6.创建数据存储目录,日志目录和mysqld.log日志文件
我们现在处在的目录是/usr/local/,在这目录下执行
mkdir ./mysql5.7/{data,logs}
可以进入mysql5.7查看一下是否创建成功

既然验证的时候进入mysql5.7目录了,那就进去
cd mysql5.7/
在这个目录下创建日志文件
touch logs/mysqld.log
7.设置data和log目录的读写权限
chmod 777 -R {data,logs}
8.修改当前目录拥有者为mysql用户
chown -R mysql:mysql ./
不放心的话,可以用ls -l查看一下文件所属用户

9.修改/etc/my.cnf配置文件
进入my.cnf配置文件添加配置
vi /etc/my.cnf
配置如下
[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'
basedir=/usr/local/mysql5.7
datadir=/usr/local/mysql5.7/data
socket=/usr/local/mysql5.7/mysql.sock
# 开启ip绑定
#bind-address = 0.0.0.0
log_timestamps = SYSTEM
open_files_limit=30000
max_connections=3000
#控制其通信缓冲区的最大长度
max_allowed_packet=256M
# #设置忽略大小写(简单来说就是sql语句是否严格),默认库名表名保存为小写, 不区分大小写
lower_case_table_names = 1
#
# # 开启慢查询
#slow_query_log=on
#slow_query_log_file=/usr/local/mysql5.7/log/slow-query.log
#
[mysqld_safe]
log-error=/usr/local/mysql5.7/logs/mysqld.log
pid-file=/usr/local/mysql5.7/data/mysqld.pid
# #指定客户端连接mysql时的socket通信文件路径
[client]
socket=/usr/local/mysql5.7/mysql.sock
default-character-set=utf8
注意:其中所有路径如果不是和我的一样的话,都需要修改
其中刚进入时是‘普通模式’,我们需要点‘i’键进入插入模式,然后将内容粘贴进去。当粘贴完成后,按esc退出插入模式,然后点‘:wq’退出来。

10.初始化数据库
当前mysql5.7目录下(安装目录)执行下列命令:
./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql5.7/ --datadir=/usr/local/mysql5.7/data
其中光标指的地方是临时密码,我们需要记下
注意:如果需要重新初始化配置,需要将data目录下的文件清空,否则初始化会失败
11.添加开机自启动
在mysql5.7的目录下执行下列语句,把启动脚本放到开机初始化目录
cp /usr/local/mysql5.7/support-files/mysql.server /etc/init.d/mysqld
注意:如果权限不够可以在最开头加上 sudo
然后在mysql5.7目录下执行下面语句
chkconfig --add mysqld
12.启动mysql服务
service mysqld start
13.登录mysql
开启mysql服务后,我们就可以登录mysql,通过上面的那个临时密码登录
./bin/mysql -uroot -p

注意:密码输入时是看不到输入内容的,所以还是慢慢输入,本人输错好几次
问题:
(1)出现error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory错误。
解决:建立一个libncurses.so.5的软连接,指向6.3版本,如下面语句所示:
sudo ln -s /usr/lib64/libncurses.so.6.3 /usr/lib64/libncurses.so.5
其中版本可能每个人不一样,我们可以用下面的语句查看自己的版本
//进入该目录下
cd /usr/lib64/
find -name "*libncurses*"

我的是6.3,所以我就用6.3建立软连接
(2)出现error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory错误
sudo ln -s /usr/lib64/libtinfo.so.6 /usr/lib64/libtinfo.so.5
和上面是一样的操作,就不赘述。
14.设置MySQL用户密码
alter user root@localhost identified by '123456';
其中root就是账号,localhost的意思就是root在本地登录时的密码
15.设置局域网ip均能访问
//进入mysql库里面
use mysql
//设置局域网ip均能访问
update user set user.Host='%' where user.User='root';
16.执行生效指令
flush privileges;
17.实现远程连接
可以在mysql里执行这个sql语句,查看一下用户信息
SELECT User, Host FROM mysql.user;

如果Host是‘%’。那就说明可以在任何主机上进行连接,而下面的localhost就表示只能在本地登录。
所以我这里就可以实现远程通过root和密码(上面的123456)进行连接,端口一般是默认的3306。
18.远程连接问题
(1)防火墙问题
如果发现远程连接不上可能是防火墙问题,我们可以通过下面命令查看一下防火墙都放行了哪些端口(我们要退出mysql,但不是退出mysql服务,我用的是‘ctrl+z’很便捷)
firewall-cmd --list-ports

显然,我这里是已经放行了的,如果没有放行就需要如下命令放行
//放行3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
//重启防火墙
systemctl restart firewalld
放行以后一定要重启防火墙,否则不生效。
(2)mysql服务未启动
可能mysql服务因为某些原因没有处于运行状态,所以可以查看一下mysql服务的运行情况,可以用如下命令:
systemctl status mysqld

最主要的就是查看光标处是否是active状态,如果不是就是没运行起来。
19.安装tar
我这里分享我的网盘
https://pan.baidu.com/s/12DOjyw7zbjS8Bdwrw4HI3Q?pwd=qajb
里面Desktop中有tar文件夹,同样的通过ftp工具上传到linux主机上。
在移入的目录下,执行如下命令,哪个目录都是可以的
//创建一个tar目录
mkdir tar
//进去
cd tar
//前提:要求上传的那些包都放在这个目录下面
//下载本地库
yum install ./* 或者rpm -Uvh *.rpm --nodeps --force
如下是通过yum下载的展示图,因为我已经下载好了,所以我现在只删除了tar的rpm做的演示,其他的我没有删除,所以这里只显示了tar的install信息,但是大家还是需要把tar文件夹下所有rpm都上传到linux主机上,install后这里输入‘y’即可。

其中光标处不能是OS,否则就不是下载的本地的了。
鲲鹏昇腾开发者社区是面向全社会开放的“联接全球计算开发者,聚合华为+生态”的社区,内容涵盖鲲鹏、昇腾资源,帮助开发者快速获取所需的知识、经验、软件、工具、算力,支撑开发者易学、好用、成功,成为核心开发者。
更多推荐



所有评论(0)