当前位置: 首页 > article >正文

【MySQL系列文章】Linux环境下安装部署MySQL

前言

本次安装部署主要针对Linux环境进行安装部署操作,系统位数64

getconf LONG_BIT
64

MySQL版本:v5.7.38

一、下载MySQL

MySQL下载地址:MySQL :: Download MySQL Community Server (Archived Versions)

二、上传MySQL压缩包到Linuxx环境,并解压

2.1、将压缩包上传到指定目录

这里上传到 /usr/local 下

2.2、解压MySQL压缩包
tar -xvf mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz

2.3、修改目录名称为mysql
mv mysql-5.7.38-linux-glibc2.12-x86_64 mysql

三、创建MySQL用户组、组名

#创建MySQL用户组
groupadd mysql

#添加MySQL用户并添加到MySQL用户组
useradd -r -g mysql mysql

四、创建数据目录并开启权限

4.1、在 /usr/local/mysql 目录下创建data文件夹

4.2、授权属主属组为mysql用户
chown -R mysql:mysql /usr/local/mysql/

五、配置 my.cnf 文件

5.1、编辑my.cnf文件
vi /etc/my.cnf
5.2、my.cnf文件配置模板
[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

六、初始化MySQL

6.1、在/usr/local/mysql/bin目录下用mysqld命令
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql --initialize

命令说明:

–defaults-file:默认配置文件地址

–datadir:是刚刚创建的data数据目录(自己进行定义的!)

–basedir:是MySQL安装目录(自己进行定义的!)

–user:刚刚创建的mysql用户

红色标注的为mysql登录密码,请记住,并在后续进行修改为自己的。

七、启动MySQL修改初始密码、授权远程连接

7.1、启动服务
/usr/local/mysql/support-files/mysql.server start

7.2、修改初始密码
# 切换目录
cd /usr/local/mysql/bin
# 登录命令
./mysql -u root -p
#修改密码
set password for root@localhost=password('我的密码');
#刷新权限
FLUSH PRIVILEGES;

也可以采用下列简单方式设置密码:

# 设置密码
SET PASSWORD = PASSWORD(‘ok’);
# 设置用户的访问密码用不过期
ALTER USER ‘root’@‘localhost’ PASSWORD EXPIRE NEVER;
#刷新权限
FLUSH PRIVILEGES;

7.3、授权远程连接
# 访问mysql库
use mysql
# 修改root用户能在任何host访问(授权远程连接)
update user set host = '%' where user = 'root';
# 刷新
FLUSH PRIVILEGES;

八、开启自启动

8.1、依次执行下面命令进行软连接
ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql 
 
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
 
service mysql restart

8.2、赋予权限、添加服务、显示服务列表
#赋予权限
chmod +x /etc/init.d/mysql
 
#添加服务
chkconfig --add mysql
 
#显示服务列表
chkconfig --list

如果2/3/4/5都处于开启状态则成功,不是请运行如下命令:

chkconfig --level 2345 mysql on

8.3、验证是否可以自启动
#查看mysql进程
ps -aux | grep mysql

#kill进程
kill -9 xxxx

#再次查看是否自启动
ps -aux | grep mysql

九、关于远程连接数据库出现2002处理方法

连接时候出现2002错误代码,可能是防火墙没有开启2002端口

可以将防火墙关闭(不建议),或者开放2002端口:

# 开启端口3306
firewall-cmd --zone=public --add-port=3306/tcp --permanent
# 重启防火墙
firewall-cmd --reload
# 查看已经开放的端口
firewall-cmd --list-ports

十、关于防火墙的命令

1.查看防火墙状态
查看防火墙状态 systemctl status firewalld
开启防火墙 systemctl start firewalld  
关闭防火墙 systemctl stop firewalld
开启防火墙 service firewalld start 
         若遇到无法开启
         先用:systemctl unmask firewalld.service 
         然后:systemctl start firewalld.service
 
2.查看对外开放的端口状态
         查询已开放的端口 netstat  -ntulp | grep 端口号:可以具体查看某一个端口号
         查询指定端口是否已开 firewall-cmd --query-port=666/tcp
           提示 yes,表示开启;no表示未开启。
 
3.对外开发端口
       查看想开的端口是否已开:firewall-cmd --query-port=6379/tcp
       添加指定需要开放的端口:firewall-cmd --add-port=123/tcp --permanent
       重载入添加的端口:firewall-cmd --reload
       查询指定端口是否开启成功:firewall-cmd --query-port=123/tcp
       移除指定端口:firewall-cmd --permanent --remove-port=123/tcp

http://www.kler.cn/a/471617.html

相关文章:

  • Boost.Asio 同步读写及客户端 - 服务器实现详解
  • /src/utils/request.ts:axios 请求封装,适用于需要统一处理请求和响应的场景
  • 基于Python的投资组合收益率与波动率的数据分析
  • 30天开发操作系统 第 12 天 -- 定时器
  • 鸿蒙APP之从开发到发布的一点心得
  • 蓝桥杯 第十五届 研究生组 第二题 召唤数学精灵
  • Quartz如何实现分布式调度
  • 4. 多线程(2)---线程的状态和多线程带来的风险
  • 如何用代码提交spark任务并且获取任务权柄
  • 大数据技术(八)—— HBase数据读写流程和Api的使用
  • uniapp打包到宝塔并发布
  • 使用python将自己的程序封装成API
  • 使用Python实现医疗物联网设备:构建高效医疗监测系统
  • 快速排序进阶版(加入插入排序提高其性能)
  • 【代码随想录】刷题记录(93)-无重叠区间
  • Requests-数据解析bs4+xpath
  • UWB实操:用信号分析仪(频谱分析仪)抓取UWB频域的图像
  • 【JMeter】多接口关联
  • es 3期 第22节-Bucket特殊分桶聚合实战
  • 【往届已EI检索】第五届智慧城市工程与公共交通国际学术会议(SCEPT 2025)
  • 在 PhpStorm 中配置命令行直接运行 PHP 的步骤
  • 后端开发入门超完整速成路线(算法篇)
  • 计算机网络:无线网络
  • 矩阵和向量点乘叉乘元素乘
  • ue5 替换角色的骨骼网格体和动画蓝图
  • 计算机网络之---计算机网络的性能评估