一、查看服务器相关信息
cat /etc/redhat-release
cat /proc/versiondebian还需要安装以下依赖
apt install libncurses6 -y
apt install numactl -y
查看系统版本为:CentOS Linux release 7.9.2009 (Core)
计算机硬件架构是 64 位。
查看glibc版本
ldd --version
二、 mysql官网下载MySQL :: Download MySQL Community Server (Archived Versions)https://downloads.mysql.com/archives/community/通过之前我们查看服务器信息:
Select Version :8.0.34
Select Operating System :Linux - Generic
Select OS Version :Linux - Generic (glibc 2.17)(x86,64-bit)
然后点击Dowmload下载
三、安装及配置步骤
1、修改并禁用 SELinux 功能(不一定需要)
vi /etc/selinux/config
修改后:
SELINUX=disabled
保存退出后执行
setenforce 0
2、查看系统是否自带mariadb并卸载(防止mysql与mariadb的文件发生冲突)
查询 rpm -qa | grep mariadb
删除 rpm -e mariadb-libs-5.5.68-1.el7.x86_64 --nodeps
3、将下载好的mysql压缩包上传到服务器并解压至 /usr/local/ 路径下,重命名为mysql
解压 tar -xvf mysql-8.0.34-linux-glibc2.17-x86_64.tar.gz -C /usr/local/
cd /usr/local/
命名 mv mysql-8.0.34-linux-glibc2.17-x86_64 ./mysql
4、进入mysql文件夹,创建log目录(8.0后不需要手动新建data目录!!!)
cd mysql
mkdir logs
5、创建mysql用户和组并修改权限
groupadd mysql
useradd -g mysql mysql
chown -R mysql.mysql /usr/local/mysql
6、创建编辑my.cnf配置文件
vi /usr/local/mysql/my.cnf
输入i 进入编辑模式后,将下方内容粘贴到文件中输入:wq退出并保存
[client]
port = 3306
#根据实际情况调整mysql.sock配置
socket = /tmp/mysql.sock
[mysqld]
#Mysql服务的唯一编号 每个mysql服务Id需唯一
server-id = 1
#服务端口号 默认3306
port = 3306
#mysql安装根目录
basedir = /usr/local/mysql
#mysql数据文件所在位置
datadir = /usr/local/mysql/data
#pid
pid-file = /usr/local/mysql/mysql.pid
#设置socke文件所在目录
socket = /tmp/mysql.sock
#设置临时目录
tmpdir = /tmp
# 用户
user = mysql
# 允许访问的IP网段
bind-address = 0.0.0.0
#错误日志
log_error=/usr/local/mysql/logs/mysql.log
7、进入mysql文件夹的bin目录下,初始化mysql
进入mysql文件夹的bin目录下,初始化mysql --如有路径变动,注意修改对应路径
cd /usr/local/mysql/bin
./mysqld --defaults-file=/usr/local/mysql/my.cnf --user=mysql --initialize
8、创建mysql下bin目录的同步链接,设置全局变量mysql
ln -s /usr/local/mysql/bin/mysql /usr/bin
9、通过systemctl创建mysql服务并设置开机自启
vi /usr/lib/systemd/system/mysql.service
输入i 进入编辑模式后,将下方内容粘贴到文件中输入:wq退出并保存
[Unit]
Description=MySQL server
After=syslog.target network.target
[Service]
User=mysql
Group=mysql
Type=forking
TimeoutSec=0
#PermissionsStartOnly=true
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=usr/local/mysql/my.cnf --daemonize
LimitNOFILE = 65535
Restart=on-failure
RestartSec=3
RestartPreventExitStatus=1
PrivateTmp=false
[Install]
WantedBy=multi-user.target
10、重新加载systemctl配置并启动mysql
#重新加载systemctl配置
systemctl daemon-reload
#启动mysql服务systemctl start mysql
对创建的mysql服务进行操作
#启动mysql服务
systemctl start mysql
#停止mysql服务
systemctl stop mysql
#查看mysql服务状态
systemctl status mysql
#设置mysql服务开机自启
systemctl enable mysql
#关闭mysql服务开机自启
systemctl disable mysql
11、查看临时密码,登录mysql
cat /usr/local/mysql/logs/mysql.log | grep "temporary password"
mysql -uroot -p
12、重置root用户密码并设置root用户远程访问
# 修改root密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '你设置的密码';
# 远程登录设置
use mysql;
select Host,User from user;
# 授权root用户任何IP访问
update user set host = '%' where user ='root';
select Host,User from user;
#刷新权限
flush privileges;
13、关闭防火墙或开放端口(仅适用centos debian自行百度)
## 关闭防火墙
# 查看 firewalld 服务状态
systemctl status firewalld
# 关闭 firewalld 服务
systemctl stop firewalld
# 关闭 firewalld 服务开机自启
systemctl disable firewalld
## 开放端口
# 查看防火墙所有开放的端口
firewall-cmd --zone=public --list-ports
# 开放3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
# 关闭3306端口
firewall-cmd --zone=public --remove-port=3306/tcp --permanent
# 配置立即生效
firewall-cmd --reload