CentOS7安装MySQL8 [亲测有效]
本文主要包括以下部分:
本文主要记录在CentOS7安装MySQL时的流程和问题。
CentOS版本:CentOS Linux release 7.5.1804 (Core) ;
MySQL版本: mysql-8.0.19
1、下载
1.1 地址
①英语过关的同学可以直接在mysql官网进行下载
地址: mysql官网地址
②英语不过关的同学可以用下面的地址
地址: mysql下载地址
1.2 选择版本并下载
CentOS 是基于红帽的,按下图进行选择即可。
选择RPM Bundle一行,Download;
注意:下载界面可以不用注册,直接下载,如下图所示
2、清理环境
2.1查看mariadb 安装包
CentOS一般会预装mariadb,可以通过 rpm -qa | grep mariadb 命令查看 mariadb 的安装包。
rpm -qa | grep mariadb
下图显示,已安装mariadb,需要卸载;
2.2 卸载mariadb
通过 rpm -e mariadb-libs-5.5.56-2.el7.x86_64 --nodeps 命令装卸 mariadb
rpm -e mariadb-libs-5.5.56-2.el7.x86_64 --nodeps
卸载完成后,通过2.1确认一次;
3、安装
3.1 新建文件夹
在usr路径下新建文件夹用来安装mysql或者可以根据自身需求,在指定路径下安装。
mkdir mysql
3.2 拷贝文件
通过 ftp 软件来把刚下载好的 mysql 安装包传输到 CentOS7 系统中;
3.3 解压
解压 tar 包
tar -xvf mysql-8.0.11-1.el7.x86_64.rpm-bundle.tar
3.4 安装
【注意:安装完成后会有100%的提示】
3.1.1 通过命令安装 common
rpm -ivh mysql-community-common-8.0.11-1.el7.x86_64.rpm --nodeps --force
3.4.2 通过 命令安装 libs
rpm -ivh mysql-community-libs-8.0.11-1.el7.x86_64.rpm --nodeps --force
3.4.3 通过命令安装 client
rpm -ivh mysql-community-client-8.0.11-1.el7.x86_64.rpm --nodeps --force
3.4.4 通过 命令安装 server
rpm -ivh mysql-community-server-8.0.11-1.el7.x86_64.rpm --nodeps --force
3.4.5 通过命令查看 mysql 的安装包
rpm -qa | grep mysql
安装完成。
4、配置
4.1 初始化
mysqld --initialize
4.2 启动
systemctl start mysqld
4.3 查看启动状态
systemctl status mysqld
4.4 开机启动
systemctl enable mysqld
4.5 设置密码
4.5.1 mysql安装完成之后,在/var/log/mysqld.log文件中给root生成了一个默认密码。通过下面的方式找到root默认密码;
cat /var/log/mysqld.log | grep password
4.5.2 使用默认密码登录mysql,
mysql -u root -p
输入刚才复制的密码即可登录。
4.5.3 修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Test123';
//登录名root,密码Test123,注意sql语句最后的分号也要输入
注意:mysql默认安装了密码安全检查插件(validate_password),默认密码检查策略要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位。否则会提示ERROR 1819 (HY000): Your password does not satisfy the current policy requirements错误。
解决方案:A、设置安全性满足的密码,并** 记录下来**。(别问为什么突出,都是泪)
B、关闭组策略,不太推荐,网上很多,搜一下即可。
4.5.4 重新登录
退出mysql,重新登录并输入新设置的密码
mysql->exit;
mysql -u root -p
5、本地登录
mysql -u root -p
6、远程登录
6.1 设置
mysql默认只允许root帐户在本地登录,如果要在其它机器上连接mysql,必须修改root允许远程连接,或者添加一个允许远程连接的帐户。
修改root用户远程访问权限:
登录mysql
选择 mysql 数据库:
use mysql;
在 mysql 数据库的 user 表中查看当前 root 用户的相关信息:
select host, user from user;
查看表格中 root 用户的 host,默认应该显示的 localhost,只支持本地访问,不允许远程访问。(我这里已经改了,所以是%)
授权 root 用户的所有权限并设置远程访问
GRANT ALL ON *.* TO 'root'@'%';
如果报错:ERROR 1410 (42000): You are not allowed to create a user with GRANT
则使用:
update user set host='%' where user ='root';
然后使用下面命令使修改生效:
flush privileges;
6.2 测试
推荐使用Naticat Premium进行数据库远程管理;