Ubuntu20.04 压缩包方式轻松安装Mysql 5.7.34

本文档详细介绍了在Ubuntu上手动安装MySQL5.7的步骤,包括下载安装包、环境配置、解压安装、初始化数据库、设置开机启动、启动与授权,以及配置远程连接。特别提示了安装过程中可能遇到的问题,如依赖库缺失,并提供了解决方案。
摘要由CSDN通过智能技术生成

Ubuntu安装 MySQL 操作

写文章的目的,就是为了方便大家安装,安装这种事情,有手就行,但是好多文章不贴执行语句啊,搞起来慢死了,我把执行语句贴上了。

一、下载Mysql

1、直接下载二进制压缩包进行安装,解压并设置相关的参数就可以运行。
2、下载5.7的源,然后通过apt install mysql-server=5.7.34-1ubuntu18.04的方式进行安装。
3、下载5.7的deb文件,然后通过dpkg -i的方式安装。
本文是方式1的方式进行安装,相较于后两种,稍微复杂一些。

下载地址:https://downloads.mysql.com/archives/community/

在这里插入图片描述

二、环境配置

2.1 检测系统是否自带Mysql

rpm -qa|grep mysql

如果有进行强行卸载

rpm -e --nodeps mysql-libs-5.1.52-1.el6_0.1.x86_64

2.2 检测系统是否自带mariadb

rpm -qa|grep mariadb

在这里插入图片描述

如果有进行强行卸载

rpm -e --nodeps mariadb-libs-5.5.64-1.el7.x86_64

在这里插入图片描述

rpm -e --nodeps mariadb-5.5.64-1.el7.x86_64

三、安装

3.1 解压

tar -zxvf mysql-5.7.34-linux-glibc2.12-x86_64

在这里插入图片描述

3.2 复制/usr/local/mysql 目录下

cp mysql-5.7.34-linux-glibc2.12-x86_64 /etc/local/mysql/ -r

3.3 改名

mv mysql-5.7.34-linux-glibc2.12-x86_64 mysql5.7.34

3.4 检查Mysql 组和用户是否存在

检查命令

cat /etc/group|grep mysql

添加mysql组

groupadd mysql

创建Mysql 用户

useradd -r -g mysql mysql

#useradd -r 参数表示mysql用户是系统用户,不可用于登录系统

3.5 安装数据库

创建data目录

mkdir data

将/usr/local/mysql-5.7.34的所有者及所属组改为mysql

chown -R mysql.mysql /usr/local/mysql/mysql5.7.34/

/usr/local/mysql/mysql5.7.34/support-files目录下创建my_default.cnf

[mysqld]

#设置mysql的安装目录
basedir =/usr/local/mysql/mysql5.7.34
#设置mysql数据库的数据存放目录
datadir = /usr/local/mysql/mysql5.7.34/data
#设置端口
port = 3306

socket = /tmp/mysql.sock
#设置字符集
character-set-server=utf8
#日志存放目录
log-error = /usr/local/mysql/mysql5.7.34/data/mysqld.log
pid-file = /usr/local/mysql/mysql5.7.34/data/mysqld.pid
#允许时间类型的数据为零(去掉NO_ZERO_IN_DATE,NO_ZERO_DATE)
sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
#ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

拷贝,是否覆盖,是

cp my_default.cnf /etc/my.cnf

3.6 初始化Mysql

./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/mysql5.7.34/ --datadir=/usr/local/mysql/mysql5.7.34/data/

在这里插入图片描述

如果报错:./bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or 就安装libaio,如果没有则跳过

yum install libaio
apt install libaio

3.7 初始化完成之后查看日志,获取临时密码

cat data/mysqld.log

在这里插入图片描述

vfHD?b>T:8Fr

3.8 把启动脚本放到开机初始化目录中

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

在这里插入图片描述

四、启动mysql

Failed to start mysqld.service: Unit not found

Ubuntu缺少libncurses.so.5的解决办法

进入mysql并更改密码

cd /usr/local/mysql5.7.34

启动mysql

./bin/mysql -u root -p

更改密码 | 授权 | 刷新权限

mysql> set password=password('123456');

mysql> grant all privileges on *.* to root@'%' identified by '123456';

mysql> flush privileges;
systemctl restart mysql

五、通过Navicat等图形化连接工具连接Mysql数据库

3.1 打开3306 端口

  1. 开启端口3306
  • firewall
firewall-cmd --zone=public --add-port=3306/tcp --permanent
  • ufw
sudo ufw allow 3306
  1. 重启防火墙
firewall-cmd --reload

查看已经开放的端口:

firewall-cmd --list-ports

3.2 Mysql 开放Root用户允许指定ip 连接

1、登陆mysql

mysql -u root -p

2、设置访问地址

  • 允许到指定IP
如果你想允许用户root从ip为192.168.1.123的主机连接到mysql服务器,并使用root作为密码   
GRANT ALL PRIVILEGES ON *.* TO 'root'@'IP'IDENTIFIED BY 'password' WITH GRANT OPTION;
  • 允许所有IP
如果你想允许用户root从所有Ip的主机连接到mysql服务器,并使用password作为密码   
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY 'password' WITH GRANT OPTION;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值