centOs7 安装mysql

本文详细介绍了在服务器上从零开始部署MySQL5.7的全过程,包括下载、创建用户和组、目录设置、编译安装、配置文件编辑、服务启动、防火墙设置等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、下载mysql5.7 下载地址如下:

https://dev.mysql.com/downloads/mysql/5.7.html

2、在服务器上创建用户和组

# 创建用户和组
groupadd mysql
useradd -r -g mysql mysql

3、创建目录

# 用于存放mysql安装介质
mkdir /soft

# 创建mysql数据存储路径,并修改属主、属组
mkdir -p /data/db/mysql/2587
chown -R mysql.mysql /data

3、上传下载的mysql安装介质到/soft目录下

4、解压缩

# mysql安装介质解压缩至/usr/local目录下
cd /soft/
tar -xvf mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz -C /usr/local

# 将解压缩后的目录名改为 mysql
cd /usr/local
mv mysql-5.7.28-linux-glibc2.12-x86_64/ mysql

5、编译安装并初始化mysql

# 编译安装并初始化mysql
/usr/local/mysql/bin/mysqld --initialize --user=mysql --datadir=/data/db/mysql/2587 --basedir=/usr/local/mysql

安装后会输出如下内容:

记住最后一行中的root口令

6、编辑/etc/my.cnf

如下配置为16G内存服务器的合理配置,请参考:

#[mysqldump]
#socket                         = /data/db/mysql/2587/mysql.sock


#[mysql]

# CLIENT #
#socket                         = /data/db/mysql/2587/mysql.sock

[client]
port=2587
socket=/data/db/mysql/2587/mysql.sock


[mysqld]

port                           = 2587
sql_mode = STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION 

group_concat_max_len=5120

# GENERAL #
user                           = mysql
default-storage-engine         = InnoDB
socket                         = /data/db/mysql/2587/mysql.sock
pid-file                       = /data/db/mysql/2587/mysql.pid

# MyISAM #
key-buffer-size                = 32M
myisam_recover_options         = FORCE,BACKUP

# SAFETY #
max-allowed-packet             = 16M
max-connect-errors             = 1000000

# DATA STORAGE #
datadir                        = /data/db/mysql/2587/

# BINARY LOGGING #
server-id                      = 1
log-bin                        = /data/db/mysql/2587/mysql-bin
expire-logs-days               = 3
sync-binlog                    = 1

# REPLICATION #
relay-log                      = /data/db/mysql/2587/relay-bin
slave-net-timeout              = 60

# CACHES AND LIMITS #
tmp-table-size                 = 32M
max-heap-table-size            = 32M
query-cache-type               = 0
query-cache-size               = 0
max-connections                = 500
thread-cache-size              = 50
open-files-limit               = 65535
table-definition-cache         = 1024
table-open-cache               = 2048

# INNODB #
innodb-flush-method            = O_DIRECT
innodb-log-files-in-group      = 2
innodb-log-file-size           = 256M
innodb-flush-log-at-trx-commit = 1
innodb-file-per-table          = 1
innodb-buffer-pool-size        = 12G

# LOGGING #
log-error                      = /data/db/mysql/2587/mysql-error.log
log-queries-not-using-indexes  = 1
slow-query-log                 = 1
slow-query-log-file            = /data/db/mysql/2587/mysql-slow.log

# CHARACTER #
character-set-server           = utf8
lower_case_table_names         = 1

log_bin_trust_function_creators = 1

log_timestamps                 = SYSTEM

#skip-grant-tables

7、启动mysql服务

/usr/local/mysql/support-files/mysql.server start

看到 SUCCESS! 即为启动成功

8、以服务方式启动mysql

# 通过软连接实现 通过service启动、停止mysql
ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

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

9、将mysql可执行程序连接到/usr/bin目录下

# 这样做就可以不需要修改环境变量了,已经可以识别mysql命令
ln -s /usr/local/mysql/bin/mysql /usr/bin

10、以root身份登录mysql并修改密码及远程连接

# 通过如下命令进入mysql monitor ,输入的密码为第5步中记录的密码
mysql -u root -p

在mysql命令下修改root的密码和远程连接

-- 修改密码
alter user 'root'@'localhost' identified by 'newpassword';

--修改远程连接
use mysql;
update user set user.Host='%' where user.User='root';
flush privileges;

此处将root用户设置为所有地址可连接,生产服务应根据实际需要,配置对应的用户、权限和连接地址!

11、防火墙打开2587端口

systemctl start firewalld.service
firewall-cmd --permanent --zone=public --add-port=2587/tcp
systemctl restart firewalld.service
firewall-cmd --zone=public --query-port=2587/tcp

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值