LINUX入门之四安装mysql
CentOS 8上安装MySQL 8
之前想在linux上安装MySQL 8,然后就在网上下载了mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz,然后就按照CentOS 7那样的操作步骤安装的,安装的过程真的是各种曲折,不是缺少这文件就是缺少那文件的,于是在网上各种找把那些文件补齐了,最后启动的时候还是不行。生气之余发现了CentOS 8默认是支持MySQL 8.0的(真想敲死寄几)。废话不多说开始吧。
准备工作
⒈本文使用虚拟机版本是VMware15.5.1
⒉本文使用的linux系统是centos8(要是干净的环境,如果不是的话请先将之前安装过MySQL的残留删除干净)
检查环境
先检查是否安装了MySQL,输入whereis mysql命令查看,如下图所示表示没有安装
安装MySQL
使用root用户或者拥有sudo权限的用户使用CentOS软件包管理器来安装MySQL 8.0
1.执行 sudo dnf install @mysql 命令(@mysql将安装MySQL及所有依赖)
2.执行 sudo systemctl start mysqld 命令启动mysql
3.执行 sudo systemctl enable mysqld 命令设置开机自启
4.执行 sudo systemctl status mysqld 命令检查MySQL是否在运行
5.执行 sudo mysql_secure_installation 命令设置MySQL根密码,如果不想设置直接按Enter,然后在下一个要输入的提示符中录入root密码
6.执行 mysql -uroot -p 命令登录数据库
温馨提示:
如果忘记了root用户的密码,或者在执行 sudo mysql_secure_installation 命令的时候误操作导致数据库登录不上,可以使用跳过密码验证的过程 skip-grant-tables
执行 vim /etc/my.cnf 命令编辑 my.cnf 文件,然后在里面加入skip-grant-tables
按Esc退出编辑,:wq!保存文件
执行 cat /etc/my.cnf 命令查看刚才保存的文件
执行 sudo systemctl restart mysqld 命令重启mysql
再次执行 mysql -uroot -p 命令,当需要输入密码时直接按Enter
MySQL 8 不再有password字段和password()方法,用户密码用authentication_string
use mysql;(使用mysql数据库)
update user set authentication_string=’*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9’ where user=‘root’;(为root用户修改密码,*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9是123456的密文)
如果 /etc/my.cnf 里面的skip-grant-tables不删,在下次进入MySQL的时候可以使用密码也可以直接按Enter