安装
- 安装mysql 官方的yum repository
wget -i -c http://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
如果没有 安装wge
t命令, 使用yum install wget
安装wget
.
然后 执行yum -y install mysql80-community-release-el7-3.noarch.rpm
- 安装mysql8.0
yum -y install mysql-community-server
- 安装完毕之后, 启动mysql服务
systemctl start mysqld
可是使用systemctl status mysqld
查看mysql是否启动成功.
如果想要开机自启动mysql, 请输入如下两条命令:
systemctl enable mysqld
systemctl daemon-reload
配置
- 登录mysql
第一次启动mysql后, 会生成一个临时密码, 这个临时密码保存在/var/log/mysqld.log
文件中, 使用grep "password" /var/log/mysqld.log
命令查看这个密码, 并把这个密码复制出来.
输入mysql -u root -p
, 回车后, 输入刚刚复制的临时密码, 登录mysql. - 修改密码
登录mysql, mysql5.7之后, 密码策略改变了, 密码中必须含有大写字母、小写字母、数字和特殊字符, 如果使用默认的密码策略, 修改密码的话, 直接输入:
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码';
如果觉得密码过于繁琐, 请输入下面两条命令:
set global validate_password.policy=0;
set global validate_password.length=4;
然后再输入:ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码';
, 此时密码只要大于4位就行.
退出数据库后, 再次进入, 就可以用刚刚设置的新密码登录了. - 配置远程登录
默认情况下, mysql安装完毕后, 只允许本地访问, 外部主机是无法访问的, 就比如第二步设置密码的时候, 用的是localhost
. 因此想要远程访问,需要再做修改.
登录mysql后,输入use mysql;
切换数据库. 在mysql数据库下, 有一张user表, 可以使用show tables;
查看当前数据库下的所有表.输入:
select host, user, authentication_string, plugin from user;
查看user的部分信息
其中, 第一行的数据, 是我自己后来配置的, 默认的情况下是没有的. 我们的目的就是配置这一行的数据,并且给新用户授权.
首先, 创建一个用户:
模板语法:CREATE USER '用户名'@'主机IP' IDENTIFIED BY '你的密码';
如果想要远程连接,例如:CREATE USER 'root'@'%' IDENTIFIED BY 'Qwertyuio123+';
只需要把主机IP替换为%
即可.
然后,修改密码加密方式
值的注意的是: 上图中mysql密码加密方式为caching_sha2_password
, 如果使用Navicat或者SQLyog等工具是无法连接的, 因此,对刚刚创建的用户设置密码加密方式
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'Qwertyuio123+';
接着, 对该用户授权, 可以远程登录
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
最后, 刷新权限
flush privileges;
进行完如上操作后, 可以使用Navicat或者SQLyog进行测试连接. 若还不能登录. 如果是云服务器的话, 请开放3306端口, 如果是虚拟机的话请关闭防火墙.systemctl stop firewalld
.