Centos7安装Mysql8

1.官网下载本地YUM源的安装包,并安装本地YUM源

1.1Mysql安装包下载
  • 方式一:
    在MySQL官网中下载YUM源rpm安装包
  http://dev.mysql.com/downloads/repo/yum/
image.png
  • 方式二
    在linux系统中通过wget命令下载
wget http://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm    
- 1.2 下载完成后使用yum命令本地安装yum源
yum localinstall mysql80-community-release-el7-1.noarch.rpm
- 1.3 执行完毕后使用下面的命令检查是否安装成功
yum repolist enabled | grep "mysql.*-community.*"
image.png

2. 安装MySQL

使用命令yum install -y mysql-community-server进行安装

3. 启动MySQL服务

使用systemctl start mysqld命令启动
使用systemctl status mysqld查看服务启动状态

Centos7安装Mysql8_第1张图片
image.png

4.配置置开机启动

- systemctl enable mysqld
- systemctl daemon-reload

5. 修改root默认密码

在修改密码之前修改密码的加密方式,就是找到mysql的配置文件(vim /etc/my.cnf)
把密码的加密方式改成之前版本的,8.0版本更换了密码的加密方式,使用旧版加密方式


image.png

改完之后重启服务(systemctl restart mysqld)

mysql安装完成之后,在/var/log/mysqld.log文件中给root生成了一个默认密码。通过下面的方式找到root默认密码,然后登录mysql进行修改:

- grep 'temporary password' /var/log/mysqld.log
image.png

登录mysql,用刚才从文件中找到的密码
mysql -uroot -p(刚才默认生成的密码)
登录后不允许进行任何操作,干啥都会报错,说要修改密码才能用.像下图这样:


image.png

使用下面的命令修改root用户的密码

- ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';
image.png

如果不想输入太复杂的密码,可以通过下面的方式降低密码复杂度,这样密码就可以随便设置了
修改密码强度的方法好像跟之前版本也不一样,我们用下面两条命令修改密码强度限制

- set global validate_password.policy=0;

这个命令将密码设置为最低级别的,Mysql的密码级别有三种,0级别,1级别,2级别
0级别允许是纯数字,1级别必须包含数字和字母,2级别必须数字,大小写字母都包含。

set global validate_password_length=4; 

如果想要密码长度短于8个字符,还要执行以上命令
不管你设置 1、2、3、4,最低长度都是 4。


image.png

6. 添加远程登录

一般不允许root用户进行远程登录,我先记录一下命令,这个是root远程登录授权的命令

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY '密码' WITH GRANT OPTION;

然后我们去给一个非root用户授权.也就是说root用户可以本地登录,远程登录就用这个用户
先创建用户,然后再授权(这里貌似也是个坑,之前版本是可以直接用上面这条命令的,系统会帮你创建用户.但是现在需要用下面这这两条命令)

创建用户(user1:用户名;%:任意ip,也可以指定,root默认就是localhost;123456:登录密码)

CREATE USER 'lyt'@'%' IDENTIFIED BY 'lyt$2018';

授权,默认创建的用户权限是usage,就是无权限,只能登录而已
(all:所有权限,这里有select,update等等权限,可以去搜一下;后面的.:指定数据库.指定表,这里是所有;to后面就是你刚才创建的用户)

grant all on *.* to 'lyt'@'%';

注意:用以上命令授权的用户不能给其它用户授权,如果想让该用户可以授权,用以下命令:

GRANT all ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;

刷新权限

FLUSH PRIVILEGES;

你可能感兴趣的:(Centos7安装Mysql8)