Linux下安装MySQL 5.7

news/2024/11/20 15:39:39/

安装MySQL 5.7

1、通过命令下载

wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz

2、解压

tar -zxvf  mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz -C /usr/local/mysql/

3、简化

cd /usr/local
mv mysql-5.7.36-linux-glibc2.12-x86_64  mysql

 4、创建数据目录并赋权

mkdir mysql/data
chmod -R 777 /usr/local/mysql/data

 5、创建用户、组并加入

groupadd mysql
useradd -g mysql mysql

6、新建MySQL配置文件

vim /etc/my.cnf

7、加入如下配置 

[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
log-error=/usr/local/mysql/data/mysql.err
pid-file=/usr/local/mysql/data/mysql.pid
#character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true

8、进入bin目录初始化

cd /usr/local/mysql/bin
./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data/ --basedir=/usr/local/mysql/
  • 可能会报错:./mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory ,是因为没有安装依赖  libaio,运行如下命令安装依赖
  • yum -y install libaio-devel.x86_64
    yum -y install numactl

9、查看MySQL密码

cat /usr/local/mysql/data/mysql.err

10、添加软连接

ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql

11、启动MySQL

service mysql start

 12、登录mysql

./mysql -h localhost -u root -p

 13、修改密码

set password=password('rootxjhy');
flush privileges;

  

14、修改访问权限

use mysql;
update user set Host='%' where User='root';
flush privileges;

  

 15、远程Navicat连接

  • 可能报错:2003 - Can't connect to MySQL server on 'xxx' (10060 "Unknown error")

  • 服务器端口可能未开放,开放端口
firewall-cmd --query-port=3306/tcp
  • 返回no说明未开放,开放3306端口 
firewall-cmd --zone=public --add-port=3306/tcp --permanent
  • 重启防火墙生效配置 
firewall-cmd --reload
  • 查看验证,返回yes端口开放成功 
firewall-cmd --query-port=3306/tcp

  

  •  若服务器端口开放了还不能连接访问,则是服务器厂商对应的安全组限制了 

腾讯云服务器端口怎么开放?端口开通教程

腾讯云服务器端口怎么开放?端口开通教程 - 腾讯云开发者社区-腾讯云

阿里云添加安全组规则

添加安全组规则_云服务器 ECS-阿里云帮助中心

 安装完成

创建用户及用户权限配置

1、创建一个MySQL用户

CREATE USER 'xjhy'@'%' IDENTIFIED BY 'xjhy';

 2、查看创建的MySQL用户

SELECT host,user FROM mysql.user WHERE user='xjhy';

3、给创建成功的MySQL用户赋权 

以下是一些MySQL用户常用的权限:
ALL:             所有可用的权限
CREATE:         创建库、表和索引
LOCK_TABLES:     锁定表
ALTER:             修改表
DELETE:         删除表
INSERT:         插入表或列
SELECT:         检索表或列的数据
CREATE_VIEW:     创建视图
SHOW_DATABASES:    列出数据库
DROP:             删除库、表和视图

  一般都是给到业务数据库权限,不要给删除库、表和视图的权限,核心库mysql数据库的权限也不要给,根据自己的需求来。root用户赋予所有权限使用如下命令:

GRANT ALL PRIVILEGES ON *.* TO ‘root’@’%’ WITH GRANT OPTION;
flush privileges;

  我只给了业务库(zhy)除删除库、表和视图的其它权限,核心库(information_schema、performance_schema、mysql)的查看权限。

GRANT PROCESS *.* TO 'xjhy'@'%';
GRANT SELECT ON `information_schema`.* TO 'xjhy'@'%';
GRANT SELECT ON `performance_schema`.* TO 'xjhy'@'%';
GRANT SELECT ON `mysql`.* TO 'xjhy'@'%';
GRANT CREATE,ALTER,INSERT,SELECT,DELETE,UPDATE,INDEX ON `zhy`.* TO 'xjhy'@'%';
flush privileges;

        使用远程连接Navicat工具等可能会报错1227 - Access denied; you need (at least one of) the PROCESs privilege(s) for this operation

        这是因为PROCESS权限是用来查看谁连接数据的一个权限,除了root用户,都只能看到自己的。使用如下命令赋权解决

GRANT PROCESS *.* TO 'xjhy'@'%';
flush privileges;

至此赋权完成


http://www.ppmy.cn/news/66773.html

相关文章

北邮22信通:电子电路实验:分享一个存放零散电阻的小方法

北邮22信通一枚~ 很高兴以一个新身份和大家见面! 有关电子电路实验的新专栏即将开启,会尽量分享一些实验报告方面的文章,大家敬请期待~ 这篇文章想和大家分享困扰小编好久的问题的解决方法!同时也就作为专栏开启的引子啦~ 事…

算法修炼之练气篇——练气十七层

博主:命运之光 专栏:算法修炼之练气篇 前言:每天练习五道题,炼气篇大概会练习200道题左右,题目有C语言网上的题,也有洛谷上面的题,题目简单适合新手入门。(代码都是命运之光自己写的…

Windows 11 本地部署 Stable Diffusion web UI

Windows 11 本地部署 Stable Diffusion web UI 0. 什么是 Stable Diffusion1. 什么是 Stable Diffusion web UI2. Github 地址3. 安装 CUDA Toolkit 11.84. 安装 cuDNN v8.9.1 for CUDA 11.x5. 配置环境变量6. 安装 Python 3.10.67. 安装 Stable Diffusion web UI8. 启动 Stabl…

python类库详解

Python类库是开发者可以使用的众多工具之一,他们是由其他开发者编写、共享和维护的代码集合。借助这些代码库,我们可以省去大量的时间和精力,更专注于应用程序的实现。Python类库是Python语言被广泛使用的一个原因之一。 在本文中&#xff0…

rac环境无法启动实例情况下修改spfile

因pga_aggregate_limit配置后,使用srvctl stop database -d orcl后,无法启动了,尝试手动启动单个节点时报错如下,明白是pga_aggregate_limit的参数配置太小导致的问题 在单个节点上操作即可 orcl1:/home/oracledb1> sqlplus …

org.springframework.util.StopWatch使用说明

StopWatch是一个简单实用的秒表工具类,可以用来评估代码块的执行时间和性能。 以下是StopWatch的主要用法: 创建StopWatch对象 StopWatch stopWatch new StopWatch(); StopWatch stopWatch2 new StopWatch("读取商品信息");启动秒表计时 stopWatch.start(); 执行…

CPU组成元素:运算器+控制器

目录标题 一、计算机硬件组成概述(Introduction to Computer Hardware Components)1.1 计算机系统的基本构架(Basic Architecture of Computer Systems)1.2 CPU的组成1.3运算器(Arithmetic Unit)、控制器&a…

【51单片机】外部中断

🎊专栏【51单片机】 🍔喜欢的诗句:更喜岷山千里雪 三军过后尽开颜。 🎆音乐分享【Love Story】 🥰大一同学小吉,欢迎并且感谢大家指出我的问题🥰 目录 🍔原理 🍔注意管…