栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

详细加解析Linux安装MySQL5.7(本人安装于生产环境)

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

详细加解析Linux安装MySQL5.7(本人安装于生产环境)

说明:

此次安装MySQL5.7是基于正式项目搭建的MySQL环境,已经经过正式环境的验证,证明下面安装方式的可行性,此方式已经开启了MySQLBinLog(数据增量备份的关键)、慢SQL记录、自定义数据保存路径等。

安装步骤: 1. 下载官方MySQL安装包

可以通过两个方式下载。第一种是服务器可以连接外网,这样可以通过Linux命令wget下载阿里云镜像MySQL官方安装包。第二种是服务器无法连接外网,这样需要在通过阿里云镜像本地下载MySQL官方安装包,然后通过Xftp传输到服务器。

  • 本地阿里云下载镜像:阿里云镜像站
  • Wget命令下载:wget https://mirrors.aliyun.com/mysql/MySQL-5.7/mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz

2. 加压并移动MySQL安装包

使用tar -zxvf 安装包名解压MySQL安装包

# 解压 tar -zxvf 待解压目录
tar -zxvf mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz
# 移动 mv 移动目录 移动后的目录
mv mysql-5.7.37-linux-glibc2.12-x86_64 mysql

经过上面命令可以得到mysql文件夹

3. 创建数据目录以及日志存放目录

数据存放目录一般要选择容量大的盘,因为生产环境数据量巨大,容易造成存储空间不足,可以通过df -h查看哪个路径下空间充足。笔者是在根目录下空间最为充足,故MySQL数据可以在根目录下创建文件夹存放。

在根目录下创建data目录,以及子目录mysql

# 创建data文件夹
mkdir data
# 创建mysql文件夹用于存放mysql数据
cd mysql
mkdir mysql

4. 创建mysql用户并修改mysql目录组以及权限

为什么要修改刚创建的mysql目录的相关权限,因为mysql是一个数据库,数据比较敏感安全性要求比较高,修改数据所属组以及权限可以防止除root用户以及mysql用户本身能操作外其余用户无法操作mysql数据,提高安全性。另一个原因是如果msyql目录mysql用户无法操作的话,往往是会启动报错,所以需要修改组以及权限。

创建mysql组及mysql用户

# 创建msyql组
groupadd mysql
# 创建mysql用户并添加到mysql组中,-r表示mysql是系统级用户,-g是所属组为mysql
useradd -r -g mysql mysql

修改mysql目录的组以及权限

# mysql:mysql表示给与mysql目录mysql组mysql用户,-R表示递归,此后mysql的内容都是mysql组mysql用户 
# /data/mysql 是你要改变目录的路径
chown mysql:mysql -R /data/mysql

5. 修改MySQL配置文件

MySQL配置文件在/etc/my.cnf中,使用vim /etc/my.cnf编辑my.cnf,按i进入编辑模式,修改内容如下,然后按esc退出编辑模式按**:**输入wq,表示写入保存。

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html

[mysqld]
port=3306
user=mysql
# mysql解压目录
basedir=/usr/local/mysql
# 数据存放目录
datadir=/data/mysql
# 跳过密码验证
# skip-grant-tables
socket=/data/mysql/mysql.sock
# 错误日志
log-error=/data/mysql/mysql.error
# mysql进程号
pid-file=/data/mysql/mysql.pid

# 日志记录慢查询SQL
slow_query_log = true
slow_query_log_file = /data/mysql/mysql_slow_query.log
long_query_time = 1

#记录没有使用index的查询记录
log-queries-not-using-indexes

# 配置mysqlbinlog
server-id = 1
log-bin = mysql-bin
binlog_format = MIXED
# 设置binlog过期时间,过期自动删除
expire-logs-days = 30
max_binlog_size = 128M
log_bin_trust_function_creators = 1

sql_mode = NO_ENGINE_SUBSTITUTION,NO_AUTO_CREATE_USER
    #character config
    #    character_set_server=utf8mb4
    #        symbolic-links=0
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M

6. 初始化MySQL

使用命令初始化MySQL

# 首先需要今日mysql安装目录的bin目录下
cd /usr/local/mysql/bin
# 初始化  --defaults-file为配置文件所在 ,--basedir为解压路径,--datadir为数据保存路径 --user表示MySQL所属用户
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize

如果执行完初始化没有报错,复制MySQL启动脚本到/etc/init.d/目录便于使用service mysql start启动

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
6. 查看临时密码并启动MySQL登录

初始化MySQL是会生产一个临时密码,可以通过查看在my.cnf中配置的log-error的配置文件知晓。Hf=mN0fPujio

cat /data/mysql/mysql.error


下面启动MySQL

# 启动
service mysql start
# 重启
service mysql restart
# 停止
service mysql stop


直接通过临时密码登录MySQL

mysql -uroot -p
# 然后输入临时密码就可以进入mysql了

7. 修改mysql密码并添加MySQL环境

临时密码肯定是不能一直用的,所以我们要修改密码。

SET PASSWORD = PASSWORd('123456');
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
FLUSH PRIVILEGES; 


接下来添加MySQL到系统环境,如果不添加也可以,但是每次登录到需要到mysql的bin下,添加之后可以在任意目录使用mysql -uroot -p进行登录了

使用vim /etc/profile编辑文件在文件最后添加以下内容后,保存修改,使用source /etc/profile刷新配置文件

# /usr/local/mysql/bin为解压目录下mysql的bin所在
export PATH=$PATH:/usr/local/mysql/bin

接下来可以使用新修改的密码登录mysql了!!!
到此Linux安装MySQL5.7基本结束,下面还有几点注意事项

  • 如果远程登录连接不上,或者程序连接mysql失败
    • 该ip没有连接MySQL的权限
      参考:赋予连接权限
    • 防火墙没有开放3306端口
      firewall-cmd --zone=public --list-port查看端口开放情况,没有开放,开放即可
    • 云服务器安全组入站没有开放3306
      云服务器配置安全组入站规则添加3306
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/883344.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号