1.确认服务器未安装mysql
2.点击此链接 MySQL :: Download MySQL Community Server下载文件
3.可以使用rpm -qa | grep glib 查看glibc版本 uname-a 查看系统信息
4.将文件上传到服务器 /user/local/mysql8.0.26
5.解压文件 将解压后的压缩包删除,并将文件夹名称改为mysql
tar -zxv xxxxxxx.
6.创建数据存放目录
7.创建用户及用户组 cd /user/local/mysql8.0.26
# 用户组
groupadd mysql
# 用户 (用户名/密码)
useradd -g mysql mysql
8.授权
chown -R mysql.mysql /usr/local/mysql8.0.26
或
chown -R mysql .
chgrp -R mysql .
9.修改/etc/my.cnf文件,如果没有请新建 /etc/my.cnf
[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=/usr/local/mysql8.0.26/mysql
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql8.0.26/data
# 允许最大连接数
max_connections=10000
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8
10.初始化数据库
./bin/mysqld --user=mysql --basedir=/user/local/mysql8.0.26/mysql --datadir=/usr/local/mysql8.0.26/data/ --initialize ;
此操作会得到一个临时密码,需要找到这个临时密码在控制台上,比如
记住这个密码,将来登陆数据库会使用,如果密码有分号分号也是密码之一
11. 建立MySQL服务,cd /user/local/mysql8.0.26/mysql 开机自启
# 添加Mysql到系统服务
cp -a ./support-files/mysql.server /etc/init.d/mysql
chmod +x /etc/init.d/mysql
chkconfig --add mysql
# 检查服务是否生效
chkconfig --list mysql
12.启动服务
service mysql start
13.服务启动后.连接数据库 ./mysql -u root -p,开启远程链接
use nysql
update user set host ='%' where user='root';
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
FLUSH PRIVILEGES;
至此MySQL安装完成!
四、安装问题解决
安装问题:
1、启动MySQL服务问题:
(1)启动MySQL服务时报 my_print_defaults:未找到命令错误。
解决方法:修改 /etc/my.cnf 中的 MySQL的安装目录 确认.
(2)启动MySQL服务时报 updating PID file 错误。
解决方法:在安装目录下重新授权,然后再启动MySQL!
# chmod -R 777 /usr/local/mysql8.0.26/mysql
# chmod -R 777 /usr/local//mysql8.0.26/data
2.本地可以连接,但是腾讯云服务器不可以连接
1.确认防火墙开启
2.
CentOS7默认的防火墙不是iptables,而是firewalle.
安装iptable iptable-service
3.
#先检查是否安装了iptables
service iptables status
#安装iptables
yum install -y iptables
#升级iptables
yum update iptables
#安装iptables-services
yum install iptables-services
4.禁用/停止自带的firewalld服务
#停止firewalld服务
systemctl stop firewalld
#禁用firewalld服务
systemctl mask firewalld
5.设置现有规则
#查看iptables现有规则
iptables -L -n
#先允许所有,不然有可能会杯具
iptables -P INPUT ACCEPT
#清空所有默认规则
iptables -F
#清空所有自定义规则
iptables -X
#所有计数器归0
iptables -Z
#允许来自于lo接口的数据包(本地访问)
iptables -A INPUT -i lo -j ACCEPT
#开放22端口
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
#开放21端口(FTP)
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
#开放80端口(HTTP)
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
#开放443端口(HTTPS)
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
#允许ping
iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT
#允许接受本机请求之后的返回数据 RELATED,是为FTP设置的
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
#其他入站一律丢弃
iptables -P INPUT DROP
#所有出站一律绿灯
iptables -P OUTPUT ACCEPT
#所有转发一律丢弃
iptables -P FORWARD DROP
6.其他规则确定
#如果要添加内网ip信任(接受其所有TCP请求)
iptables -A INPUT -p tcp -s 45.96.174.68 -j ACCEPT
#过滤所有非以上规则的请求
iptables -P INPUT DROP
#要封停一个IP,使用下面这条命令:
iptables -I INPUT -s ***.***.***.*** -j DROP
#要解封一个IP,使用下面这条命令:
iptables -D INPUT -s ***.***.***.*** -j DROP
7.保存规则设定
#保存上述规则
service iptables save
8.开启iptables服务
#注册iptables服务
#相当于以前的chkconfig iptables on
systemctl enable iptables.service
#开启服务
systemctl start iptables.service
#查看状态
systemctl status iptables.service