Centos7安装Mysql8
一、环境预备
1.1 首先查看系统是否存在mysql,无则不返回
rpm -qa|grep mysql
1.2 安装wget
yum -y install wget
1.3 抓取mariadb并删除包,无则不返回
rpm -qa|grep mariadb
1.4 删除mariadb-libs-5.5.68-1.el7.x86_64
rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64
1.5 配置阿里云的yum
wget http://mirrors.aliyun.com/repo/Centos-7.repo
1.6 配置成功后需要重新加载yum
yum clean all --清除yum
yum makecache --清除缓存
yum repolist --查看仓储包
1.7 进入tmp文件夹,并清空
cd /tmp/
rm -rf *
二、安装
2.1 通过yum下载mysql8.0包(如果包不是最新的则需要注意在安装MYSQL前进行Mysql的GPG升级)
yum localinstall https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
yum install mysql-community-server
注意:上面提到过,通过wget获取的MYSQL包不是最新的前提下有可能报错,这是因为MYSQL的GPG升级了,需要重新获取
如果无这个报错可忽略跳过本步骤
2.2-这个时候需要重执行(2022则为今年的年份),执行完GPG升级,需要重新安装
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
yum install -y mysql-community-server
三、启动
3.1启动MySQL服务
systemctl start mysqld --启动mysql服务
systemctl status mysqld --查看mysql服务状态
netstat -nlpt | grep mysqld --查看端口
3.2 设置开机启动
systemctl enable mysqld
systemctl daemon-reload
3.3抓取mysql临时密码
cat /var/log/mysqld.log | grep password
3.4 登录进mysql
mysql -u<账号> -p<密码> -P<端口号,默认3306> -h<mysqld服务器IP,如果比指定"-h" 则表示本地登陆>
mysql -uroot -p
3.5 更改密码(必须是强密码),并刷新(mysql结尾一定要加英文分号;)
mysql> alter user 'root'@'localhost' identified by 'Root123..'; --修改密码(强密码)
mysql> flush privileges; --刷新,立即生效
mysql> select user,host from mysql.user; --查看数据库中账号信息
弱密码会报错,如图
做这一步前提:必须是修改了默认的随机密码(执行步骤18)
关掉强密码,修改密码长度最短为6位数,修改密码为弱密码
mysql> set global validate_password.policy=0; --关掉强密码认证
mysql> set global validate_password.length=6; --密码长度最短为6位数
mysql> alter user 'root'@'localhost' identified by '123456'; --修改密码(弱密码)
3.6开放3306端口,并且重启防火墙,然后查看端口,开放端口是为了外网能通过Navicat Premium等其他工具访问
firewall-cmd --zone=public --add-port=3306/tcp --permanent --开放3306端口
firewall-cmd --reload --重启防火墙
firewall-cmd --list-ports --查看开放的端口
3.7做完如上部署,重新登录进到数据库,修改user表中的Host:
# mysql -uroot -p123456 --登录数据库
mysql> show databases; --查数据来库
mysql> use mysql; --使用数据库
mysql> select Host, User from user; --查询表
mysql> update user set Host='%' where User='root'; --修改User表内root用户的Host为%
mysql> flush privileges; --刷新
四、MYSQL知识点
4.1 如果创建一个用户,给予单个库权限
mysql> create database test_data; --创建一个数据库
mysql> create user admin@'%' identified by 'Admin@123..'; --创建一个新的用户 admin 密码 Admin@123..
mysql> grant all privileges on test_data.* to admin@'%' with grant option; --授权,给test_data库的所有权限
mysql> flush privileges; --刷新
4.2 MySQL5.6版本和8.0版本的的用户授权方式不同
4.2.1 MySQL5.6版本的用户授权
mysql> create user test identified by '123456';
mysql> grant all privileges on *.* to 'admin'@'%'identified by '123456' with grant option;
mysql> flush privileges ;
4.2.2 MySQL8.0版本的用户授权
mysql> create user test@'%' identified by '123456';
mysql> grant all privileges on *.* to admin@'%' with grant option;
mysql> flush privileges;
本文来自博客园,作者:CoderTL,转载请注明原文链接:https://www.cnblogs.com/codertl/p/17019297.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix