linux下MySql的安装与配置

一键三联,把mysql的安装与配置也写了,供各位参考。

--------------------------------------MySql的安装与配置--------------------------------------

1 将下载的 压缩包解压到指定目录

tar -zxvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz

卸载可能的相关组件,搜一下mariadb相关软件,通通卸载(个人觉得不好使)。

rpm -e --nodeps mariadb-libs

安装需要的库

yum install libaio-devel -y

进入:cd /usr/local

建立文件夹 mysql

进行软连接

ln -s /home/tools/mysql-5.7.26-linux-glibc2.12-x86_64/ mysql

添加mysql组:

sudo groupadd mysql

# 创建不可登录的mysql用户设置权限

useradd -s /sbin/nologin -M mysql  

设置文件夹权限:

chown -R mysql:mysql /usr/local/mysql*

chown -R mysql:mysql /home/data

chmod -R 755 /home/data

初始化mysql的库,放在/home/data下:

 /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/home/data

变为全局命令:

echo 'export PATH=$PATH:/usr/local/mysql/bin' >> ~/.bashrc  # 持久化配置

source ~/.bashrc  # 立即生效

-------------------------------------------my.cnf 的设置--------------------------------------------------------------

创建my.cnf 放到/etc下

[mysql]

default-character-set=utf8

[mysqld]

port=3306

basedir=/usr/local/mysql/

datadir=/home/data/

character-set-server=utf8

default-storage-engine=MyIsam

max_connections=100

collation-server=utf8_unicode_ci

init_connect='SET NAMES utf8'

innodb_buffer_pool_size=64M

innodb_flush_log_at_trx_commit=1

innodb_lock_wait_timeout=120

innodb_log_buffer_size=4M

innodb_log_file_size=256M

interactive_timeout=120

join_buffer_size=2M

key_buffer_size=32M

log_error_verbosity=1

max_allowed_packet=16M

max_heap_table_size=64M

myisam_max_sort_file_size=64G

myisam_sort_buffer_size=32M

read_buffer_size=512kb

read_rnd_buffer_size=4M

server_id=1

skip-external-locking=on

sort_buffer_size=256kb

table_open_cache=256

thread_cache_size=16

tmp_table_size=64M

wait_timeout=120

#默认的位置是/tmp/mysql.sock,其实更需要用默认的,因为一个数据库往往会有两三个以上的程序调用,特别是那种带后台的,往往和主服务器程序不是一个进程,甚至不是一个开发语言,为了减少不必要的特别设置的麻烦,就用默认路径;这个看各位服务器人员的偏好了。

#强调一点:必须保持和下面client的设置一致。而且如果做开机自动启动的话,也要保持一致!必须,必须,必须!

socket=/home/data/mysql.sock 

bind-address=0.0.0.0

#打开这个就是跳过密码,一般不这么用

#skip-grant-tables  

[client]

port=3306

default-character-set=utf8

socket=/home/data/mysql.sock

------------------------------------Mysqld.service 的配置--------------------------------------------------------

Mysqld.service 的配置:

放在/etc/systemd/system下

[Unit]

Description=MySQL Server

After=network.target

[Service]

User=mysql

Group=mysql

ExecStart=/usr/local/mysql/bin/mysqld  --basedir=/usr/local/mysql  --datadir=/home/data --pid-file=/home/data/mysql.pid  --socket=/home/data/mysql.sock  --port=3306

Restart=on-failure

[Install]

WantedBy=multi-user.target

重载配置:

sudo systemctl daemon-reload

设置开机启动

systemctl enable mysqld.service

启动服务

systemctl restart mysqld

查看状态:

 systemctl status mysqld

确保mysql运行正常:

--------------------------------进入Mysql进行初始设置------------------------------------------------------

mysql -u root -p

 输入临时密码:

进入Mysql:

ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';  

FLUSH PRIVILEGES;  -- 刷新权限查看数据库是否其他地址可访问:

使用新密码 重新登录mysql

[root@localhost local]# mysql -u root -p

Enter password: Welcome to the MySQL monitor.

 Commands end with ; or \g. Your MySQL connection id is 5 Server version: 5.7.26

MySQL Community Server (GPL) Copyright (c) 2000, 2019, 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> SELECT Host, User FROM mysql.user WHERE User='root';

+-----------+------+

| Host | User |

+-----------+------+

| localhost | root |

+-----------+------+

1 row in set (0.00 sec)

添加所有用户可外部访问,需要防火墙配合设置;允许某个地址ID进行访问

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

Query OK, 0 rows affected, 1 warning (0.00 sec)

 mysql> SELECT Host, User FROM mysql.user WHERE User='root';

 +-----------+------+

| Host | User |

+-----------+------+

| % | root |

| localhost | root |

+-----------+------+

2 rows in set (0.00 sec)

 mysql> FLUSH PRIVILEGES; 刷新生效

Query OK, 0 rows affected (0.00 sec)

添加本地IP可以访问数据库

 mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'127.0.0.1' IDENTIFIED BY '123456' WITH GRANT OPTION;

Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> FLUSH PRIVILEGES;

Query OK, 0 rows affected (0.00 sec)

mysql> SELECT Host, User FROM mysql.user WHERE User='root';

 +-----------+------+

| Host | User |

+-----------+------+

| % | root |

| 127.0.0.1 | root |

| localhost | root |

+-----------+------+

3 rows in set (0.00 sec) mysql>

查看所有库

SHOW  DATABASES;

为正确的样子

------------------------------------------------------其他-----------------------------------------------------------

手动配置开机启动mysql

使用/etc/rc.local文件(所有Linux版本)

编辑/etc/rc.local文件:

vim /etc/rc.local

在文件末尾添加启动MySQL的命令:

sudo /etc/init.d/mysql start

确保/etc/rc.local文件有执行权限:

chmod 755 /etc/rc.local

加入开机启动

echo 'export PATH=/usr/local/mysql/bin:$PATH'> /etc/profile.d/mysql.sh

-------------------------------------------打开外部防火墙访问权限---------------------------------------------------

netstat -antp | grep 3306

firewall-cmd --list-ports | grep 3306

firewall-cmd --zone=public --add-port=3306/tcp --permanent

firewall-cmd --reload

防火墙的处理:

/etc/sysconfig/network-scripts/ifcfg-ens33

DEVICE=ens33(接口名称需与实际一致)

ONBOOT=yes(确保开机自动启动)

BOOTPROTO=dhcp(动态IP)或 BOOTPROTO=static(静态IP)

ip link show ens33

ip link set ens33 up

# 关闭防火墙 systemctl stop firewalld

 # 临时禁用 SELinux setenforce 0

# 使用 nmcli 启用接口 nmcli connection up ens33

cd /etc/sysconfig/network-scripts/ rm -f ifcfg-eth* ifcfg-ens*.bak # 保留 ifcfg-ens33


systemctl restart network

systemctl stop NetworkManager

systemctl disable NetworkManager

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/904596.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据库原理与应用实验二 题目七

利用sql建立教材数据库,并定义以下基本表: 学生(学号,年龄,性别,系名) 教材(编号,书名,出版社编号,价格) 订购(学号,书号,数量) 出版社(编号,名称,地址) 1定义主码、外码、和价格、数量的取值范围。 2 在三个表中输入若干记录,注意如果输入违反完整…

什么是 HSQLDB?

大家好,这里是架构资源栈!点击上方关注,添加“星标”,一起学习大厂前沿架构! Java开发人员学习Java数据库连接(JDBC)的最简单方法是试验HyperSQL数据库(又名HSQLDB)。 …

shell脚本--2

1、实时监控cpu、内存的shell脚本 #!/bin/bash# 获取当前时间 DATE$(date "%Y-%m-%d %H:%M:%S")# 获取CPU使用情况 CPU_USAGE$(top -b -n1 | grep "Cpu(s)" | awk {print $2 $4})# 获取内存使用情况 MEMORY_USAGE$(free | grep Mem | awk {print $3/$2 *…

性能比拼: HTTP/2 vs. HTTP/3

本内容是对知名性能评测博主 Anton Putra HTTP/2 vs. HTTP/3 performance benchmark 内容的翻译与整理, 有适当删减, 相关指标和结论以原作为准 在本内容中,我们将比较 HTTP/2 和 HTTP/3 协议。 我们将使用 Terraform 和 Ansible 在 Google Cloud Platform (GCP) …

【Vue】组件自定义事件 TodoList 自定义事件数据传输

目录 一、绑定 二、解绑 组件自定义事件总结 TodoList案例对数据传输事件的修改 总结不易~ 本章节对我有很大收获, 希望对你也是!!! 本章节素材已上传Gitee:yihaohhh/我爱Vue - Gitee.com 前面我们学习的clikc、…

Windows远程连接MySQL报错,本地navicat能连接MySQL

一、报错 telnet 119.87.111.79 3306​​“无法打开到主机的连接。在端口 3306: 连接失败”​​ 表明无法通过 TCP 协议连接到目标服务器的 3306 端口。 二、目的 (1)​​Telnet 测试的目的​​ Telnet 仅用于测试 ​​TCP 端口是否开放​​&#xff…

电池管理系统BMS三级架构——BMU、BCU和BAU详解

储能电站的电池管理系统(BMS)通常采用三级架构:从控(BMU)、主控(BCU)、总控(BAU)。这种分层设计实现了电池模组、簇、堆的分级管理和控制,确保系统运行的安全…

C++ 基础复习

基础复习 1.const引用为什么能引用临时对象2.内联函数的额外作用3. nullptr 1.const引用为什么能引用临时对象 临时对象(Temporary Object)是在表达式求值过程中隐式创建的对象,例如: 函数返回非引用类型的值 类型转换&#xff0…

AI的出现,是否能替代IT从业者?

阐述观点:AI 的出现不会完全替代 IT 从业者,但会深刻改变 IT 行业的工作方式和岗位结构。 AI 不会完全替代 IT 从业者的原因 AI 本身需要人来开发与维护 AI 模型、系统架构、数据管道等都需要 IT 专业人员来构建和优化。 例如:AI 工程师、M…

【服务器通信-socket】——int socket(int domain, int type, int protocol);

#include <sys/types.h> #include <sys/socket.h> int socket(int domain, int type, int protocol); domain: AF_INET 这是大多数用来产生socket的协议&#xff0c;使用TCP或UDP来传输&#xff0c;用IPv4的地址 AF_INET6 与上面类似&#xff0c;不过是来用IPv6的地…

Python基本环境搭配

Python3 环境搭建 | 菜鸟教程 里面有直接跳转 Fitten Code 按下 Tab 键接受所有补全建议&#xff1a; 按下 Ctrl→ 键(mac系统为Command→)接收单个词补全建议&#xff1a; 用户可通过点击左上角工具栏中的Fitten Code – 开始对话或者使用快捷键CtrlAltC(mac系统为Contr…

C++负载均衡远程调用学习之HOOK注册机制

目录 1.larV0.7-hook流程的说明 2.larV0.7-TCP_server集成链接HOOK函数 3.larV0.7-TCP_client集成链接HOOK注册功能 1.larV0.7-hook流程的说明 ### 7.1 数据库表相关查询方法实现 ​ 我们先实现一些基本的数据表达查询方法&#xff1a; > lars_dns/src/dns_rout…

Rust 与 Golang 深度对决:从语法到应用场景的全方位解析

一、引言 在软件开发的快速发展浪潮中&#xff0c;Rust 和 Golang&#xff08;Go 语言&#xff09;脱颖而出&#xff0c;成为开发者热议的编程语言。Rust 凭借强大的内存安全性与卓越的性能备受赞誉&#xff0c;Golang 则以简洁的语法和出色的并发处理能力赢得开发者青睐。本文…

C++负载均衡远程调用学习之订阅功能与发布功能

目录 1.lars-DnsV0.1回顾 2.Lars-DnsV0.2-订阅功能的订阅模块分析 3.Lars-DnsV0.2-订阅模块的类的单例创建及方法属性初始化 4.Lars-DnsV0.2-发布功能的实现 5.Lars-DnsV0.2-发布功能的总结 6.Lars-DnsV0.2-订阅流程复习 7.Lars-DnsV0.2-订阅模块的集成 8.Lars-DnsV0.2订…

SurfSense开源程序是NotebookLM / Perplexity / Glean的开源替代品,连接到外部来源,如搜索引擎

​一、软件介绍 文末提供程序和源码下载 虽然 NotebookLM 和 Perplexity 等工具令人印象深刻&#xff0c;并且对于对任何主题/查询进行研究都非常有效&#xff0c;但 SurfSense 通过与你的个人知识库集成来提升这种能力。它是一个高度可定制的 AI 研究代理&#xff0c;连接到外…

基于OpenTelemetry的分布式链路追踪Trace‌实现(PHP篇)

目录 引言一、OpenTelemetry是一套可观测性标准协议二、分布式追踪&#xff08;‌Trace‌&#xff09;是OpenTelemetry的核心功能之一三、OpenTelemetry的架构原理四、OpenTelemetry的分布式追踪&#xff08;‌Trace‌&#xff09;实践1、准备PHP环境2、下载SDK3、编写实例代码…

探索智能体的记忆:类型、策略和应用

AI Agent 中的记忆&#xff1a;类型、策略和应用 记忆实现是使智能体能够保持上下文、从过去的交互中学习并做出明智决策的关键组成部分。与人类记忆非常相似&#xff0c;智能体记忆允许 AI 系统随时间存储、检索和利用信息&#xff0c;从而为用户创造更连贯和个性化的体验。 …

leetcode 2395. Find Subarrays With Equal Sum

题目描述 代码&#xff1a; class Solution { public:bool findSubarrays(vector<int>& nums) {int len nums.size();if(len <2)return false;unordered_set<int> table;int sum 0;for(int i 1;i < len;i){sum nums[i-1]nums[i];if(table.contains(…

Kubernetes(k8s)学习笔记(七)--KubeSphere 最小化安装

前情提要 可视化操作面板对于开发、运维绝对是提升工作效率的一大利器&#xff0c;因此很有必要搭建一套可视化操作来管理Kubernetes。 可视化面板有多种&#xff1a; 1.Kubernetes官方提供的默认面板&#xff1a;dashboard&#xff0c;用处不大&#xff0c;放弃&#xff1b…

MCP连接Agent:AI时代的TCP/IP

介绍 2023年&#xff0c;生成式AI爆发。2024年&#xff0c;智能体&#xff08;Agent&#xff09;接棒成为AI新焦点。2025年&#xff0c;智能体似乎已经要开始爆发了。目前的智能体更像一个“单机App”&#xff1a;彼此不了解、无法通信&#xff0c;更不能协作。类似互联网早期…