CentOS7.9 安装配置MySQL5.7.30

news2025/1/19 17:04:50

1.下载mysql安装包:mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz

 

2. 卸载自带的mariadb和mysql
检查是否安装了mariadb和mysql,有时候默认安装了
rpm -qa | grep mariadb
rpm -qa | grep mysql
如果没有,就可以安装mysql,如果有,需要先卸载(remove后为上面命令查询到的内容,全文件名)
yum remove mariadb-xxx
如:yum remove mariadb-libs-5.5.52-1.el7.x86_64

3.解压文件,修改目录名方便配置
tar -zxvf mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz -C /usr/local/

4.建立个软连接方便后面操作
ln -s /usr/local/mysql-5.7.30-linux-glibc2.12-x86_64 /usr/local/mysql

5.添加mysql用户,修改mysql目录权限,并用此用户mysql服务程序
groupadd mysql #创建mysql分组
useradd -s /bin/false -M mysql -g mysql

 

参数说明:
-s(不允许登录
/bin/false是最严格的禁止login选项,一切服务都不能用,
/sbin/nologin只是不允许系统login,可以使用其他ftp等服务
-M(不创建主目录)
-g(加入mysql组)

chown -R mysql:mysql /usr/local/mysql/ #修改mysql目录权限

6. 创建存放数据库的目录,并授权给mysql用户
mkdir /data/mysql -p
chown -R mysql:mysql /data/mysql

 

7.配置文件,新建配置文件/etc/my.cnf,并修改配置文件
vi /etc/my.cnf
输入内容:
[client]
no-beep
#指定客户端登录时使用的socket
#socket = /tmp/mysql.sock
port = 3306

[mysql]
default-character-set=UTF8MB4

[mysqld]
# binlog 配置
log-bin=/data/mysql/mysql-bin.log
expire-logs-days=14
max-binlog-size=500M
server-id=1

# GENERAL
user=mysql
#bind=0.0.0.0
basedir=/usr/local/mysql
datadir=/data/mysql
log-error = /data/mysql/error.log
plugin_dir = /usr/local/mysql/lib/plugin
port=3306
pid-file=/tmp/mysql.pid
socket=/tmp/mysql.sock
#skip-grant-tables
skip-name-resolve
character-set-server=utf8
default-storage-engine=INNODB
server-id=1
max_connections=2000

#query_cache_size在8.0版本已经移除
query_cache_size=0

table_open_cache=2000
tmp_table_size=246M
thread_cache_size=300
#限定用于每个数据库线程的栈大小。默认设置足以满足大多数应用
thread_stack = 192k
key_buffer_size=512M
read_buffer_size=4M
read_rnd_buffer_size=32M
innodb_data_home_dir = /data/mysql
innodb_flush_log_at_trx_commit=0
innodb_log_buffer_size=16M
innodb_buffer_pool_size=256M
innodb_log_file_size=128M
innodb_thread_concurrency=128
innodb_autoextend_increment=1000
innodb_buffer_pool_instances=8
innodb_concurrency_tickets=5000
innodb_old_blocks_time=1000
innodb_open_files=300
innodb_stats_on_metadata=0
innodb_file_per_table=1
innodb_checksum_algorithm=0
back_log=80
flush_time=0
join_buffer_size=128M
max_allowed_packet=1024M
max_connect_errors=2000
open_files_limit=4161

#query_cache_type在8.0版本已经移除
query_cache_type=0

sort_buffer_size=32M
table_definition_cache=1400
binlog_row_event_max_size=8K
sync_master_info=10000
sync_relay_log=10000
sync_relay_log_info=10000
#批量插入数据缓存大小,可以有效提高插入效率,默认为8M
bulk_insert_buffer_size = 64M
interactive_timeout = 120
wait_timeout = 120
log-bin-trust-function-creators=1
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

8.安装mysql(即初始化数据库),进入mysql目录执行以下命令
cd /usr/local/mysql
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql

可能报错:
(1)bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
缺少安装包libaio和libaio-devel
执行安装命令yum install libaio*
自动安装这两个包

(2)bin/mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory
缺少numactl
执行安装命令yum install numactl

 

最后初始化成功

9.查看error.log,获取初始密码,并记录下来,稍后用于登录
cat /data/mysql/error.log

 

10.在/etc/init.d/目录下建立一个mysql的启动程序,并启动mysql
ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
/etc/init.d/mysqld start

 

 11.配置mysql 开机启动
在centos7环境下对服务的管理已经不再用service 命令了,而是改为systemctl 命令来管理服务
创建systemctl的对mysql服务的配置文件
touch /usr/lib/systemd/system/mysql.service
注意: systemctl中规定服务的配置文件要以.service 为后缀

vi /usr/lib/systemd/system/mysql.service
复制一下代码
[Unit]
Description=MySQL Server
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target

[Install]
WantedBy=multi-user.target

[Service]
User=mysql
Group=mysql

ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf

LimitNOFILE = 5000

需要注意的地方
(1) --defaults-file=/etc/my.cnf 这个是指向mysql的配置文件,要根据实际情况来管理
(2)如果一个服务器上启动多个mysql实例要怎么使用systemctl启动呢?
可以使用命名不同的方式来管理不同的实例,例如例子中使用的服务名是mysqld.service 可以写成mysql3306.service 和mysql3307.service 这样里面的配置文件也要指定相应的位置。否则启动容易出问题

设置开机启动
systemctl enable mysql

12. 配置环境变量,编辑/etc/profile,方便在任何地方用mysql命令
vim /etc/profile
在文件末尾追加如下内容:
#mysql
export MYSQL_HOME=/usr/local/mysql
export PATH=$PATH:$MYSQL_HOME/bin

source /etc/profile #使/etc/profile生效

13.登录mysql,修改密码
首次登录,提示输入密码时,输入安装时生成的密码
mysql -uroot -p

 修改数据库密码

alter user 'root'@'localhost' identified by '123456';

14.创建一个远程登录账号

修改完密码后需要退出重新登录数据库执行如下语句
CREATE USER 'jonas'@'%' IDENTIFIED BY 'Jonas@ft.com';

CREATE DATABASE IF NOT EXISTS controller_db DEFAULT CHARACTER SET utf8mb4; #创建数据库controller_db
GRANT ALL PRIVILEGES ON controller_db.* TO 'jonas'@'%'  WITH GRANT OPTION; #授权IDENTIFIED BY 'Jonas@ft.com'
FLUSH PRIVILEGES;

 15. 查看防火墙所有开放的端口,看看有没有mysql的3306端口,如果没有就添加
firewall-cmd --state #查看防火墙状态,如果是not running,则启动systemctl start firewalld.service
firewall-cmd --zone=public --list-ports #查看防火墙所有开放的端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent   #开放3306端口
firewall-cmd --reload   # 配置立即生效
配置文件:/etc/firewalld/zones/public.xml

 

 

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

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

相关文章

Centos7搭建SVN代码控制服务器

Centos7搭建SVN代码控制服务器检查SVN是否安装创建SVN版本库配置代码库设置允许访问远程仓库的用户帐号密码设置权限控制设置SVN服务配置启动svn与停止启动SVN关闭SVN访问拉取远程仓库代码检查SVN是否安装 1、centos7系统自带SVN rpm -qa subversion2、如果没有则通过yum安装 …

[论文精读|博士论文]面向文本数据的关系抽取关键技术研究

电子科技大学 2022.3.15博士论文 实体关系的方向性语义缺失,使得关系的判别缺乏对文本蕴含语义特征的利用 提出——基于句法关系的方向敏感型句子级关系抽取算法 利用依存句法树结构信息构建双向依存路径结构(新的文本策略解决过度剪裁)额外…

构建直接序列扩频系统模型(Matlab代码实现)

🍒🍒🍒欢迎关注🌈🌈🌈 📝个人主页:我爱Matlab 👍点赞➕评论➕收藏 养成习惯(一键三连)🌻🌻🌻 🍌希…

【分析笔记】全志 i2c-sunxi.c 控制器驱动分析

分析平台:全志 A64 内核版本:Linux 4.9 数据手册:Allwinner_A64_User_Manual_V1.1.pdf (whycan.com) 驱动框架 I2C 设备驱动 作为方案应用来说,我们是最经常要动的地方,这一层主要与具体的芯片功能强关联&#xff0c…

RK3588平台开发系列讲解(USB篇)内核 USB 配置

平台内核版本安卓版本RK3588Linux 5.10Android 12文章目录 一、USB PHY CONFIG二、USB Host CONFIG三、USB OTG CONFIG四、USB Gadget CONFIG沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇将介绍USB的相关配置。 USB 模块的配置及保存和其它内核模块的配置方法一…

英语考试的作文模板

考试需要,但是老是忘记,所以发出来备忘~~~~~ 这里写目录标题1 高频考点:正面话题 (能力/事情/习惯/行为/品质/意识/习惯)1.1 题干关键词与结构1.2 开头段1.3 主体段2 一起写范文【正面话题】主体段:重要性怎么做重要性…

【AI学习笔记】jupyter notebook 默认路径修改(超简介,超详细)

文章目录修改前:修改notebook默认路径:1. 找到 Anaconda 的安装目录2. 修改 notebook 安装位置3. 删除"%USERPROFILE%/"内容修改后:【声明:由于我的电脑有 Anaconda3的root环境 和 名为TensorFlow 的 Anaconda虚拟环境&…

操作系统学习笔记(Ⅱ):进程

目录 1 进程 1.1 定义、组成、组织方式与特征 1.定义 2.组成 ​3.组织方式 4.进程的特征 1.2 进程的状态与转换 1.状态 2.进程状态的转换 1.3 进程控制 1.基本概念 2.进程控制相关的原语 1.4 进程通信 1.共享存储 2.消息传递 3.管道通信 1.5 线程概念和多线…

Python数据分析实战-实现模型K折交叉验证(附源码和实现效果)

前面我介绍了可视化的一些方法以及机器学习在预测方面的应用,分为分类问题(预测值是离散型)和回归问题(预测值是连续型)(具体见之前的文章)。 从本期开始,我将做一个数据分析类实战…

mybatisplus savebatch 多数据源时候,sqlSessionFactory 不正确踩坑记录。

记录一下 mybatis-plus sharding-JDBC 的时候,因为配置多数据源和多个SqlSessionFactory导致 mybatisPlus 执行 saveBatch 异常的问题。 具体异常就是 saveBatch 执行的数据源,与期望的不一致。其实是因为 SqlSessionFactory 错误导致的。 项目中有2个…

程序员第一次接私活?记住这三点让你事半功倍

不少程序员都有接私活的想法,但恰恰就如开发者之间的论调一样,接私活其实是有一定难度的,想找到合适的单子,顺利地做完并拿到薪水,需要注意的事儿很多,接下来和大家分享一下,程序员第一次接私活…

改进的多目标差分进化算法在电力系统环境经济调度中的应用(Python代码实现)【电气期刊论文复现】

🎉🎉🎉🎉欢迎您的到来😊😊😊 🥬博客主页:博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 📝床头铭:将来的我一定会感谢…

[附源码]计算机毕业设计springbootSwitch交流平台

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

Android 插件化

demo 如果要加载插件模块编译的apk插件包中的Activity类,需要执行如下流程: 1)加载类对象:使用DexClassLoader加载Activity对应的Class字节码类对象; 2)管理生命周期:处理加载进来的Activity…

【算法自由之路】前缀树 桶排序之计数排序和基数排序

【算法自由之路】前缀树 & 桶排序之计数排序和基数排序 前缀树(字典树) 首先是前缀树,前缀树是由字符构成的树结构,它记录有多少前缀字符通过,以及有多少个同样的字符串,其找这类信息的时间复杂度是极…

minigui编译移植

minigui编译移植 一:文件系统依赖支持二:交叉编译libminigui-1.6.10三:交叉编译mg-samples-1.6.10四:资源minigui-res-1.6.10四:开发板拷贝资源五:/etc/MiniGUI.cfg配置文件修改六:系统环境变量设置一:文件系统依赖支持 zlib libpng libjpeg 二:交叉编译libminigui-1.6.10 conf…

第五届安洵杯网络挑战赛WP

Crypto Cry1 crypto签到题,就是先对SHA256的哈希值进行爆破,然后猜数字 用hashcat一条命令秒穿 hashcat --custom-charset1 ?d?l?u -a 3 -m 1400 3075696ea46516c3a0a43930fab5a0f1c68ea4b315dd87a9cd123dac7f20f3a6 ?1?1?1?1GJWVMYlh5ApWLbF…

MySQL源码分析之SQL函数执行

1.MySQL中执行一条SQL的总体流程 一条包含函数的SQL语句,在MySQL中会经过: 客户端发送,服务器连接,语法解析,语句执行的过程。 调试源码,分析函数的具体执行过程,在客户端,执行select to_char…

【数据结构与算法】初识时间空间复杂度

文章目录1.数据结构与算法概念2.时间复杂度3.大O计数法表示时间复杂度4.线性结构与非线性结构1.数据结构与算法概念 (1)什么是数据结构 数据结构指的是相互之间有一种或者多种特定的关系数据元素集合。数据结构可以分成逻辑结构和物理结构。逻辑结构&a…

全网首发克莱斯勒东南大捷龙jeep道奇DIY数码碟盒增加USB和蓝牙播放音乐功能使用原车接口无损改装

文章目录前言碟盒功能1、设计指标3、外观设计4、PCB设计5、程序设计6、调试7、大捷龙车机尾插接口定义公头东南大捷龙车机白色插头模块与白色插头连接方法8、安装方法9、 使用方法9.1 CD车机按钮功能定义11、 联系我前言 ​ 之前写过四篇关于车机增加音频输入的方法。 1、07宝…