【框架学习(2) -- Linux下单机MySql部署】

接上一篇Redis安装完成后,继续安装单机MySQL:

创建文件夹

手动创建一个文件夹mysql

MySQL及相关文件都保存在这个我们指定的位置。

创建文件夹路径:

切换到mysql目录下
我们需要创建:

  • tmp(临时文件)
  • data(数据)
  • logs(日志)
  • config(配置)

创建文件夹命令是mkdir

mkdir tmp data logs config

在这里插入图片描述
这个时候还没MySql具体的文件

下载Linux版本并上传解压

国内镜像蛮多,比如:

http://mirrors.sohu.com/mysql/MySQL-8.0/

上传后,解压:

tar -zxvf 压缩包名称

解压完毕后,把解压出来的文件夹改成mysql

我们创建出的文件结构就是这样的:
在这里插入图片描述

创建MySql用户组

以下命令中,需要修改的是在赋予权限的两条命令中,mysql文件夹的路径
依次执行:

groupadd mysql 
useradd -g mysql mysql
chown -R mysql:mysql /home/software/mysql
chmod -R 755 /home/software/mysql

编辑配置文件

在新建的config文件夹下,建立两个文件,并编辑内容:

1、my.cnf

在这里插入图片描述
红框框内都是需要修改的路径

my.cnf文件内容如下:

[client]
port=3306
socket=/home/software/mysql/tmp/mysql.sock
default-character-set=utf8mb4

[mysqld]
# 端口
port=3306
# 安装目录
basedir=/home/software/mysql/mysql-8.0.25-el7-x86_64
# 数据存放目录
datadir=/home/software/mysql/data
# 错误日志
log-error=/home/software/mysql/logs/error.log
# 为MySQL客户端和服务器之间的本地通讯指定一个套接字文件
socket=/home/software/mysql/tmp/mysql.sock
# 记录mysql运行的process id
pid-file=/home/software/mysql/tmp/mysql.pid

# 排序缓冲大小
sort_buffer_size=8M
# 联合查询缓冲大小
join_buffer_size=8M
# 服务端字符集
character-set-server=utf8mb4
# 创建新表时默认存储引擎
default-storage-engine=INNODB
# 允许最大连接数
max_connections=100
# 是否对sql语句大小写敏感,1表示不敏感
lower_case_table_names=1
# 只能用IP地址检查客户端的登录,不用主机名
skip_name_resolve=1
# 设置client连接mysql时的字符集,防止乱码
init_connect='SET NAMES utf8mb4'
# 记录系统时区
log_timestamps=SYSTEM
# 限制LOAD DATA, SELECTOUTFILE命令的路径
secure_file_priv='/tmp'

2、mysql_custom.server
创建后不管

在我们真正的mysql文件夹下
解压出的应该有一个 support-files
在里面找到mysql.server,拿到其中内容
在这里插入图片描述
原来的内容:
在这里插入图片描述
我们把这里面的内容复制,粘贴到 config文件夹下,我们创建的mysql_custom.server之内。

我们需要把基础路径从默认的user/local改成自己制定的文件路径
另外,这里data路径,数据文件夹,是需要指定为我们手动创建的。
像这样:
在这里插入图片描述

初始化及启动

切换到bin目录下:

cd /home/software/mysql/mysql/bin

初始化,完成后会在logs/error.log日志文件里生成数据库初始密码

./mysqld --defaults-file=/home/software/mysql/config/my.cnf --initialize --user=mysql --basedir=/home/software/mysql/mysql --datadir=/home/software/mysql/data --lower-case-table-names=1

三个文件夹都需要修改:
在这里插入图片描述

添加到系统服务自动启动(如果提示是否覆盖,输入 y 确认)

cp -a /home/software/mysql/config/mysql_custom.server /etc/init.d/mysqld

授权及添加服务

chmod +x /etc/init.d/mysqld
chkconfig --add mysqld

检查服务是否生效(如果3、4、5 项为 on 则表示已经生效)

chkconfig --list
在这里插入图片描述
添加全局变量

vi /etc/profile
export PATH=$PATH:/home/software/mysql/mysql/bin
# 退出保存,使环境变量生效
source /etc/profile

在这里插入图片描述

MySQL启动报错

Starting MySQL.2022-07-10T23:50:17.966266Z mysqld_safe error: log-error set to ‘/var/log/mariadb/mariadb.log’, however file don’t exists. Create writable for user ‘mysql’.
ERROR! The server quit without updating PID file (/var/lib/mysql/localhost.localdomain.pid).

最后发现,etc文件夹下也有一个my.cnf
在这里插入图片描述

而这里面的配置正是报错的问题,将内容换成我自己创建的my.cnf内容
在这里插入图片描述
然后启动成功!
在这里插入图片描述

启动MySQL服务

常用操作
开启MySQL

service mysqld start 

关闭MySQL

service mysqld stop

重启MySQL

service mysqld restart 

查看MySQL状态

service mysqld status 

查看MySQL服务信息

ps -ef | grep mysql

查看MySQL服务信息

ps -ef | grep mysql

初始密码会在数据库初始化后自动写入日志文件

# 查看日志文件

cat /home/software/mysql/logs/error.log
在这里插入图片描述

# 登录

mysql -uroot -p

修改mysql密码

修改密码

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

立即生效

flush privileges;

设置远程连接

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

测试远程链接
在主机上用 Navicat for MySQL 远程链接:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

上岸撒尿的鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值