一 mysql下载安装启动

0 关闭防火墙或开放3306端口

0.1 防火墙

查看状态

# 查看防火墙状态
systemctl status firewalld
# 或者
firewall-cmd --state

关闭防火墙

# 临时关闭防火墙
systemctl stop firewalld.service
# 或者
systemctl stop firewalld


# 永久关闭防火墙(必须先临时关闭防火墙,再执行该命令,进行永久关闭)
systemctl disable firewalld.service
# 或者
systemctl disable firewalld

重启生效

# 重启防火墙
systemctl restart firewalld.service

# reload 
firewall-cmd --reload

0.2 开放指定端口

开放3306端口

firewall-cmd --zone=public --add-port=3306/tcp --permanent

# 显示 success 表示成功
# –zone=public 表示作用域为公共的
# –add-port=443/tcp 添加 tcp 协议的端口端口号为 443
# –permanent 永久生效,如果没有此参数,则只能维持当前服务生命周期内,重新启动后失效;

查看已开启端口

firewall-cmd --list-ports

关闭指定端口

#关闭指定端口
firewall-cmd --zone=public --remove-port=8080/tcp --permanent
systemctl restart firewalld.service
firewall-cmd --reload

0.3 其他命令

#查看端口被哪一个进程占用
netstat -lnpt |grep 5672
# centos7默认没有 netstat 命令,需要安装 net-tools 工具:
# 安装 net-tools
yum install -y net-tools

1 下载mysql8

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

  • 查看服务器操作系统
cat /etc/redhat-release
  • 查看glibc版本
getconf GNU_LIBC_VERSION

image.png

  • 选择对应版本下载

image.png

2 安装 mysql 8.0.33

mysql参考手册(官方参考文档):
https://dev.mysql.com/doc/refman/8.0/en/binary-installation.html

2.0 安装前,检测系统是否自带安装 MySQL

rpm -qa | grep mysql
  • 普通删除模式
rpm -e mysql-8.0.33-linux-glibc2.28-x86_64.tar.gz #填上面查看的回显
  • 如果提示有依赖项,使用以下命令删除
rpm -e --nodeps mysql-8.0.33-linux-glibc2.28-x86_64.tar.gz #填上面查看的回显

2.1 添加系统mysql组和mysql用户

  • 查看是否已存在,已存在就不用添加
cat /etc/group | grep mysql
  • 添加
groupadd mysql
# useradd命令使用 -r和-s /bin/false选项来创建对服务器主机没有登录权限的用户
useradd -r -g mysql -s /bin/false mysql

2.2 上传压缩包、解压、软链接

  1. 解压、软链接
# 压缩包放在这里
cd /opt
# 解压 (不用-v,不输出日志)
tar xf mysql-8.0.33-linux-glibc2.28-x86_64.tar.gz
# 软链接到/usr/local/mysql
ln -s /opt/mysql-8.0.33-linux-glibc2.28-x86_64 /usr/local/mysql
  1. 修改环境变量
# 临时(重启失效)
export PATH=$PATH:/usr/local/mysql/bin

# 永久生效
vim /etc/profile
# 在最后一行加入此内容( export PATH=/usr/local/mysql/bin:$PATH )
# 刷新
source /etc/profile
  1. 查看是否生效
mysql -V

# 重启命令
reboot

# 重启后再查看打印版本号则说明上面的配置有效
mysql -V

至此,mysql已安装完毕

3 安装后的设置和测试

3.1 创建数据目录

mkdir -p /data/3306/data
# change owner,修改文件(或目录)的所有者
chown mysql.mysql /data/3306
# 授权
chmod 750 /data/3306

3.2 创建配置文件

# 删除旧配置
rm -rf /etc/my.cnf

# 创建
vim /etc/my.cnf

my.cnf内容

# my.cnf 内容如下
[mysqld]
user=mysql
basedir=/usr/local/mysql
datadir=/data/3306/data
socket=/data/3306/mysql.sock
# 使用“mysql_native_password”插件认证,新插件会有兼容问题
# default_authentication_plugin=mysql_native_password
# 或者放temp下 
# socket=/tmp/mysql.sock 
server_id=1
[mysql]
socket=/data/3306/mysql.sock
# 或者放temp下 
# socket=/tmp/mysql.sock 

3.3 初始化数据目录

# 使用-insecure不会为root@'localhost'用户生成密码
# ps:能在本地登录mysql(登上了服务器),设置密码也没啥用,所以就不设了
mysqld --initialize-insecure

# 这条命令会为本地root生成随机密码(两条选一条就行,我用的上面一条)
mysqld --initialize

3.4 启动数据库

# 进入mysql启动脚本所在目录
cd /usr/local/mysql/support-files/

# 启动
./mysql.server start

image.png

每次都进入此目录启动比较麻烦
下面提供两种设置

3.4.1 System V

# 拷贝到 /etc/init.d 目录下
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
# 然后就可以使用service命令控制mysql,如下:
# 重启
service mysqld restart
# 停止
service mysqld stop
# 启动
service mysqld start
# 查看状态
service mysqld status


# 或者使用mysqld全路径
/etc/init.d/mysqld status

3.4.2 systemd

systemctl enable mysqld
# 然后就可以使用systemctl控制mysqld
systemctl start mysqld
systemctl status mysqld

image.png

3.5 开机自启

  1. 授权
chmod +x /etc/init.d/mysqld
  1. 添加
chkconfig --add mysqld
  1. 查看
chkconfig --list

# 果看到mysql的服务,并且3,4,5都是开的话则成功,如果是关,则
chkconfig --level 345 mysqld on

image.png

4 登录

登录

# 登录mysql
mysql

# 或者
# If you used --initialize but not --initialize-insecure to initialize the data directory, connect to the server as root:
mysql -u root -p
# If you used --initialize-insecure to initialize the data directory, connect to the server as root without a password:
mysql -u root --skip-password

登陆后可以使用以下命令设置新密码

ALTER USER 'root'@'localhost' IDENTIFIED BY 'root-password';

忘记密码

https://dev.mysql.com/doc/refman/8.0/en/resetting-permissions.html

  1. 关闭mysqld
systemctl stop mysqld
  1. 使用以下命令启动
# --skip-grant-tables 跳过登录
# --skip-networking 跳过tcp,使用本地socket(防止外部用户进入mysql)
# & 后台运行
mysqld_safe --skip-grant-tables --skip-networking &

image.png
运行后即可进入mysql,用户名密码随便写都行
登录后更改密码

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值