CentOS7离线部署mysql5.7

271 阅读2分钟

CentOS7离线部署mysql5.7

1. 下载Mysql


https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.29-linux-glibc2.12-x86_64.tar.gz

2. 解压

放在home目录下 目录可自己更改

tar -xzvf /home/mysql-5.7.29-linux-glibc2.12-x86_64.tar.gz

解压后更改文件名为mysql

mv mysql-5.7.29-linux-glibc2.12-x86_64 mysql

3. 赋予权限&初始化文件

(1). 赋予权限

chown -R root mysql/

(2). 初始化my.cnf文件

vi /etc/my.cnf

复制以下内容:

[mysqld]
user=root
basedir=/home/mysql
datadir=/home/mysql/data
log-error=/home/mysql/error.log
pid-file=/home/mysql/mysql.pid

character_set_server=utf8
init_connect='SET NAMES utf8'
lower_case_table_names=1

(3). 初始化error.log文件 防止没有权限

vi /home/mysql/error.log
:wq

chmod 777 error.log
chown root error.log

(4). 初始化mysql.pid文件 防止没有权限

vi /home/mysql/mysql.pid
:wq

chmod 777 mysql.pid
chown root mysql.pid

4. 初始化数据库

初始化数据库 注意路径

/home/mysql/bin/mysqld --initialize --user=root --basedir=/home/mysql --datadir=/home/mysql/data

初始化完成后,在log文件error.log文件,里面记录了root用户的随机密码。

5. 启动数据库

/home/mysql/support-files/mysql.server start

修改密码

# 系统默认会查找/usr/bin下的命令;建立一个链接文件
ln -s /home/mysql/bin/mysql /usr/bin

# 登陆mysql的root用户
mysql -uroot -p
# 输入生成的随机密码

# 修改root用户密码为123456
set password for root@localhost=password('123456');

设置开机自启动服务:

# 复制启动脚本到资源目录
cp /home/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld

# 增加mysqld服务控制脚本执行权限
chmod +x /etc/rc.d/init.d/mysqld

# 将mysqld服务加入到系统服务
chkconfig --add mysqld

# 检查mysqld服务是否已经生效
chkconfig --list mysqld

# 启动mysql
service mysqld start

service mysqld start/stop/restart

设置允许远程连接

image.png

# 登录mysql
mysql -u root -p

use mysql
select user,host from user;

# 修改root用户的host字段
update user set host='%' where user='root';

# 使本次修改立即生效
flush privileges;

注意防火墙

# 查看防火墙状态
systemctl status firewalld

# 关闭防火墙
systemctl stop firewalld

# 开机自启
systemctl enable firewalld.service

# 禁用开机自启
systemctl disable firewalld.service

# 开放3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent

# 关闭3306端口
firewall-cmd --zone=public --remove-port=3306/tcp --permanent

# 命令含义
# --zone #作用域
# --add-port=80/tcp 添加端口,格式为:端口/通讯协议
# --permanent 永久生效,没有此参数重启后失效

# 查看防火墙规则
firewall-cmd --list-all

# 加载规则使之立即生效
firewall-cmd --load