1、卸载mariadb
#因centos7默认安装了mariadb, 会造成依赖冲突,按下列方式进行卸载:
rpm -qa | grep mariadb
#如果出现
mariadb-libs-5.5.68-1.el7.x86_64
#执行
rpm -e mariadb-libs --nodeps
2、下载
#官网下载
https://dev.mysql.com/downloads/mysql/
#wget下载
wget https://dev.mysql.com/get/Downloads/mysql-8.4.0-linux-glibc2.17-x86_64.tar.xz
3、安装及初始化
#解压mysql-8.4.0-linux-glibc2.17-x86_64.tar.xz到home并重名
tar xvf mysql-8.4.0-linux-glibc2.17-x86_64.tar.xz -C /home/
cd /home/
mv mysql-8.4.0-linux-glibc2.17-x86_64 mysql-8.4.0
#创建用户组以及用户和密码
groupadd mysql
useradd -g mysql mysql
#创建 data 数据存储目录
mkdir -p /home/mysql-8.4.0/data
#授权用户
chown -R mysql.mysql /home/mysql-8.4.0/
#新建文件 /etc/my.cnf [mysqld]
[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/home/mysql-8.4.0
datadir=/home/mysql-8.4.0/data
socket=/tmp/mysql.sock
log-error=/home/mysql-8.4.0/data/mysql.err
pid-file=/home/mysql-8.4.0/data/mysql.pid# 不区分大小写
lower_case_table_names=1
#character config
character_set_server=utf8mb4
explicit_defaults_for_timestamp=true
# datadir=/var/lib/mysql
# socket=/var/lib/mysql/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=/var/log/mariadb/mariadb.log
# pid-file=/var/run/mariadb/mariadb.pid
#初始化安装
cd /home/mysql-8.4.0/bin/
./mysqld --defaults-file=/etc/my.cnf --basedir=/home/mysql-8.4.0/ --datadir=/home/mysql-8.4.0/data/ --user=mysql --initialize
4、添加服务及配置
cp /home/mysql-8.4.0/support-files/mysql.server /etc/init.d/mysql
#配置环境变量
/etc/profile
在最后添加:
export PATH=$PATH:/home/mysql-8.4.0/bin
source /etc/profile
开启服务
service mysql start #服务启动
service mysql status #查看服务状态
service mysql stop #停止服务
service mysql restart #重启服务
5、启动及修改密码
services mysql start
#进入mysql 控台
# -p,表示使用密码登陆 # 执行完毕后输入刚刚得到的初始密码,即可进入MySQL数据库 mysql mysql -uroot -p
#修改密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH 'caching_sha2_password' BY '1Jchshxdl';
#刷新权限
flush privileges;
6、远程连接
远程连接
use mysql;
# 将 root 用户的 host 属性设置为 %,表示 root 用户可以从任何 IP 地址连接到 MySQL 服务器。
update user set host='%' where user='root';
flush privileges;
7、开放端口
开放3306端口并且云服务器控制台开放3306端口
# 查看防火墙状态
firewall-cmd --state
# 开启防火墙
systemctl start firewalld
# 停止防火墙
systemctl stop firewalld.service
# 禁止防火墙开机启动
systemctl disable firewalld.service
# 重启防火墙
systemctl restart firewalld.service
# 开放3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
# 开放端口之后 需要重新启动防火墙
systemctl restart firewalld.service
# 重新加载防火墙规则
firewall-cmd --reload
8、导入
导入:
create database 数据库名;
use 数据库名;
set names utf8;
source /home/sql文件;