CentOS7-mysql5.7.35安装配置
2024-09-08 19:22:44
一、下载网址
注:mysql从5.7的某个版本之后之后不再提供my-default.cnf文件,不耽误启动,想要自定义配置可以自己去/etc下创建my.cnf文件
全版本:https://downloads.mysql.com/archives/community/
本次安装版本(5.7.35)
官网文档:https://dev.mysql.com/doc/refman/5.7/en/option-files.html
二、安装
1、检查mariadb数据库是否安装(会与mysql冲突,如有安装需卸载)
(1)查询是否存在安装命令
[root@localhost software]# yum list installed | grep mariadb
mariadb-libs.x86_64 1:5.5.68-1.el7 @anaconda
(2)如有安装,执行卸载命令
[root@localhost software]# yum -y remove mariadb-libs.x86_64
2、解压MySQL安装包
[root@localhost software]# tar -xzvf mysql-5.7.35-el7-x86_64.tar.gz
改个名(无所谓)
[root@localhost software]# mv mysql-5.7.35-el7-x86_64 mysql-5.7.35
3、创建数据文件夹data
[root@localhost software]# cd mysql-5.7.35
[root@localhost mysql-5.7.35]# mkdir data
4、创建mysql用户
[root@localhost mysql-5.7.35]# useradd mysql
5、初始化mysql,并启用安全功能(切进mysql安装目录下的bin目录)
[root@localhost mysql-5.7.35]# cd ../mysql-5.7.35/bin/
执行初始化
[root@localhost bin]# ./mysqld --initialize --user=mysql --datadir=/opt/software/mysql-5.7.35/data --basedir=/opt/software/mysql-5.7.35
初始化相关参数
–initialize:初始化 mysql,创建 mysql 的 root, 随机生成密码。记住密码,登录 msyql 使用
–user:执行 msyqld 命令的 linux 用户名
–datadir : mysql 数据文件的存放位置,目录位置参照本机的设置
–basedir:msyql 安装程序的目录,目录位置参照本机的设置。
记住初始密码
启用安全功能(在服务器与客户机之间来回传输的所有数据进行加密。通过证书提供了身份验证机制,mysql 命令程序,mysql_ssl_rsa_setup 提供了开启数据加密功能,生成数字证书。)
[root@localhost bin]# ./mysql_ssl_rsa_setup --datadir=/opt/software/mysql-5.7.35/data
6、修改mysql目录的权限
将MySQL目录权限授给mysql用户和mysql组
[root@localhost software]# chown -R mysql:mysql /opt/software/mysql-5.7.35
7、启动MySQL并登录进行一些必要设置(切进bin目录下)
[root@localhost bin]# ./mysqld_safe &
[1] 1779
[root@localhost bin]# Logging to '/opt/software/mysql-5.7.35/data/localhost.localdomain.err'.
2022-08-09T15:00:03.858211Z mysqld_safe Starting mysqld daemon with databases from /opt/software/mysql-5.7.35/data
-- 第一次登录需要初始密码
[root@localhost bin]# ./mysql -u root -p
-- 登录后进入mysql命令行需要修改一次密码
mysql> set password=password('111111');
-- 授权远程访问
mysql> grant all privileges on *.* to root@'%' identified by '111111';
Query OK, 0 rows affected, 1 warning (0.00 sec)
-- 刷新权限
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
8、测试工具远程连接
如果报错,可能是linux防火墙的问题,关闭防火墙(可以临时关,也可以使用 systemctl disable firewalld 直接禁用)
[root@localhost bin]# systemctl stop firewalld
[root@localhost bin]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: inactive (dead) since Tue 2022-08-09 23:09:26 CST; 7s ago
Docs: man:firewalld(1)
Process: 709 ExecStart=/usr/sbin/firewalld --nofork --nopid $FIREWALLD_ARGS (code=exited, status=0/SUCCESS)
Main PID: 709 (code=exited, status=0/SUCCESS)
Aug 09 21:40:12 localhost.localdomain systemd[1]: Starting firewalld - dynamic firewall daemon...
Aug 09 21:40:18 localhost.localdomain systemd[1]: Started firewalld - dynamic firewall daemon.
Aug 09 21:40:20 localhost.localdomain firewalld[709]: WARNING: AllowZoneDrifting is enabled. This is ...ow.
Aug 09 23:09:25 localhost.localdomain systemd[1]: Stopping firewalld - dynamic firewall daemon...
Aug 09 23:09:26 localhost.localdomain systemd[1]: Stopped firewalld - dynamic firewall daemon.
Hint: Some lines were ellipsized, use -l to show in full.
9、关闭mysql服务命令
[root@localhost bin]# ./mysqladmin -uroot -p shutdown
Enter password:
[root@localhost bin]# 2022-08-09T15:10:44.675265Z mysqld_safe mysqld from pid file /opt/software/mysql-5.7.35/data/localhost.localdomain.pid ended
三、附加功能配置
1、开机自启动(一种方法)
-- 将mysql.server放置到/etc/init.d/目录下,命名为mysql
[root@localhost support-files]# cp /opt/software/mysql-5.7.35/support-files/mysql.server /etc/init.d/mysql
-- 赋予可执行权限
[root@localhost support-files]# chmod +x /etc/init.d/mysql
-- 添加为服务:
chkconfig --add mysql
-- 查看服务列表
chkconfig --list
--看到3、4、5状态为开或者为 on 则表示成功。
--如果是 关或者 off 则执行一下:chkconfig --level 345 mysql on
2、设置systemctl,并设置开机启动
注:如果通过systemctl enable mysql来开启自启,上面的chkconfig的相关配置会被自动清掉,不会冲突
(1)创建文件
[root@localhost data]# vim /usr/lib/systemd/system/mysql.service
mysql.service文件内容
[Unit]
Description=MySQL Server
Documentation=man:mysqld(5.7.35)
Documentation=https://dev.mysql.com/doc/refman/5.7/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
PIDFile=/opt/software/mysql-5.7.35/data/mysql.pid
# Disable service start and stop timeout logic of systemd for mysqld service.
TimeoutSec=0
# Execute pre and post scripts as root
PermissionsStartOnly=true
# Needed to create system tables
#ExecStartPre=/usr/bin/mysqld_pre_systemd
# Start main service
ExecStart=/opt/software/mysql-5.7.35/bin/mysqld --daemonize --pid-file=/opt/software/mysql-5.7.35/data/mysql.pid
#注意这里要加上 --daemonize
# Use this to switch malloc implementation
#EnvironmentFile=-/etc/sysconfig/mysql
# Sets open_files_limit
LimitNOFILE = 5000
Restart=on-failure
RestartPreventExitStatus=1
PrivateTmp=false
(2)重新载入systemctl
[root@localhost data]# systemctl daemon-reload
(3)设置开机自启
[root@localhost data]# systemctl enable mysql
Created symlink from /etc/systemd/system/multi-user.target.wants/mysql.service to /usr/lib/systemd/system/mysql.service.
最新文章
- Redis所需内存 超过可用内存怎么办
- 做小图标还用sprite图?你out了!史上最简单易懂iconfont使用教程
- 【代码笔记】iOS-改变文字输入框背景
- C#中 导入和导出Excel的方法
- WPF之TextBox
- Get AD user 的三种方法
- OSPF+LVS ,qugga,vconfig,...感觉这些很有想法啊
- HH的军训(容斥)
- document.onreadystatechange()来判断页面加载完
- Mesos+Zookeeper+Marathon+Docker分布式集群管理最佳实践
- HBase作为存储方案
- 关于php-fpm比较重要的几个参数
- PC或者手机上实现相机拉近和旋转
- Java获取微信小程序二维码
- 多维数组分解----SVD在推荐系统中的应用-
- day 60 Django第一天
- ubuntu tftp 配置
- 【javascript】浏览器用户代理检测脚本实现
- 【我的Android进阶之旅】Realm数据库学习资料汇总(持续更新)
- 一个 React &; Redux的目录树
热门文章
- Python学习:Mysql(三)索引
- 利用 fastjson 的 toJSONStringWithDateFormat 方法,将Date 格式化 为常见类型的时间
- stm32 窗口看门狗
- Python 集合常用方法
- 动态路由里,将component字符串改变为路由懒加载方法
- 新版 Mediasoup Windows 安装 编译
- SSM框架 拦截器 出现“发现了以元素 'mvc:exclude-mapping' 开头的无效内容。应以 '{";http://www.springframework.org/schema/mvc";:mapping}' 之一开头”错误
- Coursera Programming Languages, Part B 华盛顿大学 Week 1
- AutoCAD2018_64bit
- Python 时间日期获取(今天,昨天或者某一段时间)