Centos 8 中默认情况下是没有 MySQL 8 的软件资源的,需要使用官网的 rpm 资源添加 yum 源。按照 MySQL >> DOWNLOADS >> MySQL Community (GPL) Downloads >> MySQL Yum Repository 的顺序进入 RedHat/Centos 的 yum 源下载页面。
点击第一个 Download 根据引导进行下载然后上传到服务器就下载成功了,或者使用
wget https://dev.mysql.com/get/mysql80-community-release-el8-1.noarch.rpm
直接在服务器上下载。(注:以下图片中 lh 及其他 scs 、 scst 为自定义命令,设置方法文末会进行简单说明。lh = ls -h)
之后用 rpm 安装之后更新一下 yum 源就可以通过 yum 直接安装 MySQL 了。
rpm -ivh mysql80-community-release-el8-1.noarch.rpm
yum update
下面开始安装 MySQL :
yum install mysql
yum install mysql-server
安装完成,默认服务名为 mysqld
,启动并查看 mysql 状态(注:scs=systemctl status,scst=systemctl start):
这里提一下,截止此文章发布前的 MySQL 最新版本在使用 yum 安装的时候默认是使用的空密码进行创建 root 账户,所以启动 mysqld 服务后第一次进入数据库直接使用 mysql -uroot
命令就可以登入数据库,然后直接修改密码,不过为了防止如果有人遇见 mysqld 启动后有密码,这里也放出查看初始密码的方法:
cat /var/log/mysql/mysqld.log | grep password
这里是没有初始密码的所以会显示空密码:
有初始密码的情况显示如下(密码为 root@localhost:
后面的字符串)然后使用 mysql -uroot -p
回车输入密码即可进入:
下图为空密码情况下成功进入数据库:
由于保存用户信息等配置的数据保存在 mysql 库中,所以需要先使用 use mysql
切换到 mysql 库以修改密码。
最新版本的 MySQL 使用以下命令修改密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY '这里填入自己的密码';
之后最好使用 flush privileges;
刷新数据库,否则可能出现密码修改失败却没发现,退出数据库后初始状态消除不再支持无密码登录而无法登录数据库的情况。
设置完成后退出再次使用 mysql -uroot -p
命令回车并输入密码(密码输入时不会显示输入内容,只要确保密码输入正确就行)后,成功进入数据库则密码配置成功。
MySQL 默认是不支持外部远程连接的,故需要手动开启远程功能,如下图:
依旧是使用 use mysql
进入 mysql 库,修改 mysql 库中的 user 表,将 host 项,从 localhost 改为 % 。 % 这里表示的是允许任意 host 访问,如果只允许某一个 ip 访问,则可改为相应的 ip 。
update user set host = '%' where user = 'root';
依旧使用 flush privileges;
命令刷新缓存,此时再次测试连接,可以发现已经连接成功了。
Linux 支持自定义命令以精简命令并支持临时以及永久两种方式。
第一种临时自定义命令的方式,直接使用 alias
关键字即可设置自定义命令。
alias scs = 'systemctl status '
自定义命令本质上就是将原始命令打包并将其命名,然后使用该命名替代原始命令,例如上图,scs mysqld
等价于 systemctl status mysqld
。
而永久设置自定义命令的方式,就是直接使用 vim 修改 root 目录下的 .bashrc
文件,
vim ~/.bashrc