Linux安装mysql【超详细】

一、下载安装包
1、查看是否已经安装了MySQL
javascript 复制代码
rpm -qa | grep mysql
2、查看系统位数
javascript 复制代码
getconf LONG_BIT
3、下载MySQL

MySQL官网地址

4、也可以直接在服务器执行指令下载,但是下载速度比较慢。还是自己下载好拷贝过来比较快。
javascript 复制代码
wget https://dev.mysql.com/get/Downloads/mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz
二、安装
1、新建/usr/local/tools文件夹,把下载好的包放进来
2、解压安装
javascript 复制代码
// 解压缩
tar -xvf mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz 
// 修改文件名称
mv mysql-5.7.38-linux-glibc2.12-x86_64/ mysql
// 删除压缩包(也可以不删)
rm -f mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz 
3、创建MySQL用户组、组名
javascript 复制代码
// 创建用户组
groupadd mysql
// 添加MySQL用户并添加到MySQL用户组
useradd -r -g mysql mysql
4、创建数据目录并开启权限
4.1、mysql目录下新建文件夹data
javascript 复制代码
mkdir data 
4。2、开启权限
javascript 复制代码
chown -R mysql:mysql /usr/local/mysql/
5、编辑my.cnf文件

/etc/my.cnf,如果没有这个文件需要手动创建

javascript 复制代码
vim /etc/my.cnf

在Linux中使用vi或vim编辑器时,保存文件并退出的步骤如下:

  • 保存文件:按下Esc键确保你不在插入模式中,然后输入:w并按Enter键。这会将你的更改保存到当前打开的文件中。

  • 退出编辑器:保存文件后,你可以输入:q并按Enter键来退出编辑器但是,如果你的文件自上次保存以来已经被修改过,vim会阻止你退出,以防止丢失更改

  • 保存并退出:如果你想要保存更改并退出,可以输入:wq并按Enter键。这会保存文件并退出编辑器。

  • 强制退出:如果你想要退出而不保存更改,可以输入:q!并按Enter键。这会放弃所有未保存的更改并退出编辑器。

  • 保存所有更改并退出:如果你打开了多个文件并想要保存所有更改并退出,可以输入:wqa并按Enter键。这会保存所有更改的文件并退出编辑器。

记住,vim有三种模式:普通模式(Normal mode)、插入模式(Insert mode)和命令模式(Command mode)。上述命令都是在普通模式下输入的。如果你不小心进入了插入模式,只需按Esc键即可返回普通模式。
修改文件的内容

javascript 复制代码
[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。
max_connect_errors=10
# 服务端使用的字符集默认为utf8mb4
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用"mysql_native_password"插件认证
#mysql_native_password
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8mb4
6、初始化mysql

/usr/local/mysql/bin目录下执行命令

javascript 复制代码
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/ --user=mysql --initialize
  • ./mysqld:这是MySQL服务器的可执行文件。
  • --defaults-file=/etc/my.cnf:指定MySQL配置文件的位置。
  • --basedir=/usr/local/mysql:指定MySQL安装的基目录。
  • --datadir=/usr/local/mysql/data:指定MySQL数据文件存储的目录。
  • --user=mysql:指定运行MySQL服务的用户。
  • --initialize:初始化MySQL数据目录。
7、启动服务

/usr/local/mysql/support-files/mysql.server start

8、修改密码
typescript 复制代码
// 切换目录
cd /usr/local/mysql/bin
// 登录命令
./mysql -u root -p
// 修改密码
set password for root@localhost=password('root');
#刷新权限
FLUSH PRIVILEGES;
9、navicat远程连接报错1130

连接之前一定要开启服务器的对应端口

解决办法

typescript 复制代码
// 进入mysql
./mysql -u root -p 再输入密码后进入mysql
// 访问mysql库
use mysql
// 修改root用户能在任何host访问(授权远程连接)
update user set host = '%' where user = 'root';
// 刷新状态
FLUSH PRIVILEGES;

相关linux指令

  • 使用netstat -tulnp | grep 3306检查端口3306是否被占用。
  • sudo lsof -i :3306这将列出所有使用3306端口的进程及其相关信息。
相关推荐
biter008815 小时前
Ubuntu 22.04 有线网络时好时坏?最终解决方案
linux·网络·ubuntu
是2的10次方啊15 小时前
MySQL索引设计原则:明明建了索引为什么还是慢?7条实战原则帮你避坑
mysql
zzzsde15 小时前
【Linux】基础开发工具(3):编译器
linux·运维·服务器
('-')15 小时前
《从根上理解MySQL是怎样运行的》第十二章学习笔记
笔记·学习·mysql
深瞳智检16 小时前
学习应用 第001期-Windows 10 用 CMD 安装 MySQL 全流程解析(免安装版)
数据库·windows·mysql·压缩包·环境安装
愚戏师16 小时前
Python3 多线程
linux·运维·服务器·python
华纳云IDC服务商16 小时前
MySQL数据库如何防止SQL注入攻击
数据库·sql·mysql
n***333517 小时前
linux redis简单操作
linux·运维·redis
h***593317 小时前
使用Canal将MySQL数据同步到ES(Linux)
linux·mysql·elasticsearch
xu_yule17 小时前
网络和Linux网络-5(应用层)HTTP协议(方法+报头+状态码)
linux·网络·网络协议·http