linux下mysql8的安装与部署

下载包, 地址: https://dev.mysql.com/downloads/

在这里插入图片描述

在这里插入图片描述

解压缩, 重命名

tar -Jxvf mysql-8.0.19-linux-glibc2.12-x86_64.tar.xz
mv mysql-8.0.19-linux-glibc2.12-x86_64 mysql-8.0.19

正常安装mysql应该使用mysql用户, 添加mysql用户组, 和用户, 也直接添加mysql用户, 要将mysql的目录权限赋给mysql用户

# 用户组也可不用
groupadd mysql
useradd mysql

我的mysql目录: /data/web/mysql-8.0.19, 然后给mysql用户赋权, 我data路径是在安装目录下的, 一定要授权给mysql用户, 不赋权限, 后面启动的时候就会报错, 尽量使用mysql用户安装, 要不后面启动会报各种错, 报错的话先看看目录所属的用户权限

# 用户组用户 没有添加用户组的话 就不用执行这条命令
chown -R mysql:mysql /data/web/mysql-8.0.19/
# 用户赋权
chown -R mysql /data/web/mysql-8.0.19/

修改mysql的配置文件

# 新建数据存放目录data和mariadb目录 
mkdir data
# 进入mysql的bin目录 执行查看my.cnf命令
./mysql --help | grep my.cnf

在这里插入图片描述

修改/etc/my.cnf文件 vim /etc/my.cnf, 如果启动报没有mariadb文件夹, 就创建mariadb目录, 所属mysql用户

[mysqld]
port=3306
basedir=/data/web/mysql-8.0.19
datadir=/data/web/mysql-8.0.19/data
socket=/data/web/mysql-8.0.19/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd

[mysqld_safe]
log-error=/data/web/mysql-8.0.19/mariadb/mariadb.log
pid-file=/data/web/mysql-8.0.19/mariadb/mariadb.pid

#
# include all files from the config directory
#
!includedir /etc/my.cnf.d

初始化, 进入到mysql的安装目录的bin目录下, 执行下面命令, 会生成一个默认初始密码, 记住此密码

./mysqld --basedir=/data/web/mysql-8.0.19 --datadir=/data/web/mysql-8.0.19/data --user=mysql --initialize

在这里插入图片描述

执行启动命令

service mysql start
  1. 如果执行不了命令, 执行下面命令, 添加mysql服务到系统和授权
cp -a ./support-files/mysql.server /etc/init.d/mysql
chmod +x /etc/init.d/mysql
chkconfig --add mysql
  1. 如果执行不了命令, 环境变量配置, 可以在最后一行添加mysql的环境变量配置
vim /etc/profile
# mysql
export MYSQL_HOME=/data/web/mysql-8.0.19
export export PATH=$MYSQL_HOME/bin:$PATH
source /etc/profile
  1. 登录执行下面命令, 然后密码为上面随机生成的密码
mysql -u root -p
  1. 然后设置密码, 权限
# 首先必须要修改密码的
alter user user() identified by '123456';
# 使用mysql数据库
use mysql;
# 修改host 可以使用外部IP就行访问
update user set host = '%' where user = 'root';
# 受权限
grant all privileges on *.* to "root"@"%";
# 刷新
flush privileges;
  1. 使用navicat连接数据库, 如果连接不上, 检查防火墙和端口
iptables -vnL|grep 3306
  1. 上面命令回车后没数据,说明没有3306端口,如果回车后显示3306端口是drop状态, 执行下面命令;
/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
  1. 在次执行命令就可以看到了
iptables -vnL|grep 3306

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值