1 下载MySQL8安装包
1.1 下载安装包
进入MySQL官网 >> downloads >> MySQL Community(GPL)Downloads
点击MySQL Community Server
根据自己的服务器架构和Linux版本选择软件
查看Linux架构:uname -m
1.2 上传安装文件
解压安装包,选择需要的文件(6个)
等将旧的mysql卸载后,将文件上传到Linux(CentOS)服务器,可以将6个文件上传到root/softwares/mysql
2 卸载旧的MySQL
2.1 查询系统已安装的MySQL
rpm -qa | grep -i mysql
2.2 关闭MySQL服务
2.2.1 查看MySQL服务运行状态;
//对于5.5版本mysql
service mysql status
服务运行:
服务停止:
//对于8版本mysql
service mysqld status
服务运行:
服务停止:
2.2.2 关闭MySQL服务
service mysql stop
2.3 查看MySQL对应的文件夹
find / -name mysql
2.4 卸载MySQL
rpm -ev MySQL-server-5.6.22-1.el6.i686
rpm -ev MySQL-client-5.6.22-1.el6.i686
2.5 删除系统中所有MySQL文件夹
rm -rf /etc/selinux/targeted/active/modules/100/mysql
rm -rf /var/selinux/targeted/active/modules/100/mysql
rm -rf /var/lib/selinux/targeted/active/modules/100/mysql
rm -rf /var/lib/mysql
rm -rf /usr/lib/mysql
rm -rf /usr/share/bash-completion/completions/mysql
rm -rf /usr/share/selinux/targeted/default/active/modules/100/mysql
rm -rf /usr/local/mysql
2.6 卸载mariadb(与MySQL有冲突)
查询mariadb
rpm -qa | grep mariadb
强制卸载mariadb(--nodeps(no dependency)忽略依赖,强制卸载)
rpm -e --nodeps 查询到的mariadb
3 安装新MySQL
3.1 安装
进入MySQL安装文件所在目录下,运行下面命令行(注意安装的先后顺序,后面会依赖前面)
rpm -ivh mysql-community-common-8.0.31-1.el8.x86_64.rpm
rpm -ivh mysql-community-client-plugins-8.0.31-1.el8.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.31-1.el8.x86_64.rpm
rpm -ivh mysql-community-client-8.0.31-1.el8.x86_64.rpm
rpm -ivh mysql-community-icu-data-files-8.0.31-1.el8.x86_64.rpm
rpm -ivh mysql-community-server-8.0.31-1.el8.x86_64.rpm
3.2 初始化(初始化后会生成一个"初始密码")
mysqld --initialize --console
或者使用grep 'temporary password' /var/log/mysqld.log命令查看(注:密码为"冒号空格"后面所有字符)
3.3 修改安装目录的所有者/所属组,使用户拥有访问MySQL文件夹的权限
chown -R mysql:mysql /var/lib/mysql
3.4 启动服务
systemctl start mysqld
3.5 初次登陆MySQL
mysql -uroot -p
回车,输入"初始密码"
3.6 修改初始密码密码
mysql> ALTER USER USER() IDENTIFIED BY '密码';
3.7 查看数据库(安装成功)
show databases;
4 开启远程连接
4.1 mysql(linux)放开远程登录
4.1.1 查看数据库帐号
使用mysql数据库:use mysql;
查询账号信息:select user,host from user;
root帐号的权限为localhost,即不可以远程登录(不可以远程通过SQLyog或Navicat登录),只能本地登录(但能通过Xshell远程登录服务器,然后在服务器上使用root帐号登录,这也算本地登录)
4.1.2 方式一:新建一个用户,给它host设置为%,并给它设置对应权限(略)
4.1.3 方式二:修改root帐号的host
将root帐号的host设置为%
mysql> update user set host="%" where user="root";
使本次修改立即生效
mysql> flush privileges;
4.2 关闭linux防火墙
4.2.1 关闭防火墙
查看防火墙状态systemctl status firewalld
临时关闭防火墙sudo systemctl stop firewalld(重启linux生效)
临时打开防火墙sudo systemctl start firewalld(重启linux生效)
关闭防火墙systemctl stop firewalld
打开防火墙systemctl start firewalld
永久关闭防火墙sudo systemctl disable firewalld
永久打开防火墙sudo systemctl enable firewalld
4.2.2 对于CentOS7
CentOS7默认使用firewalld防火墙,如果需要iptables需要下载安装
①禁用firewalld服务 systemctl mask firewalld
②停止firewalld服务 systemctl stop firewalld
③安装iptables服务相关包 yum - y install iptables-services
④确保在开机时启动 systemctl enable iptables //临时打开防火墙 systemctl start iptables
4.2.3 (关于)云服务器
如果是云服务器,需要在"控制台"放开对应端口