欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

CentOS7.X安装MySQL8.0

程序员文章站 2022-04-10 08:45:20
...

CentOS7.X安装MySQL8.0

这里先总结一下步骤:
1. 从官网拿到本地YUM源的安装包,并安装本地YUM源
2. 通过`yum install -y`命令进行MySQL的安装
3. 启动服务,并配置开机自启
4. 获取初始化密码,登录MySQL
5. 修改密码策略,然后自行设置root密码
6. 创建一个用户,并为它远程访问登录的权限
7. 进行远程登录测试

总体思路就上面这些,下面是具体的操作


1. 从官网拿到本地YUM源的安装包,并安装本地YUM源

在MySQL官网中下载YUM源rpm安装包:http://dev.mysql.com/downloads/repo/yum/

CentOS7.X安装MySQL8.0

把这个rpm文件下载下来放到服务器上,或者在linux系统中通过wget命令下载    
wget http://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm    
下载完成后使用yum命令本地安装yum源
yum localinstall mysql80-community-release-el7-1.noarch.rpm
执行完毕后使用下面的命令检查是否安装成功
yum repolist enabled | grep "mysql.*-community.*"
看到类似下图说明安装成功

CentOS7.X安装MySQL8.0

2. 安装MySQL

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

3. 启动MySQL服务

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

CentOS7.X安装MySQL8.0

4. 开机启动

打上下面这两条命令就行了,不行就不行了..看不懂
systemctl enable mysqld
systemctl daemon-reload

5. 修改root默认密码

在修改密码之前要先做一件事,就是找到mysql的配置文件(vim /etc/my.cnf)↓
把密码的加密方式改成之前版本的,8.0版本更换了密码的加密方式,我们就先用旧的..等大神们写好文章我再抄过来..

CentOS7.X安装MySQL8.0

把上面图片里这一行信息前面的"#"删掉,改完之后记得重启服务(systemctl restart mysqld)

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

CentOS7.X安装MySQL8.0

登录mysql,用刚才从文件中找到的密码
mysql -uroot -p
^%#&^&(你的密码)

登录后不允许进行任何操作,干啥都会报错,说你要修改密码才能用.像下图这样:

CentOS7.X安装MySQL8.0

CentOS7.X安装MySQL8.0

尝试修改密码,使用下面的命令修改root用户的密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';
如果修改密码像这个样子提示错误,说明密码的复杂度还不够.

CentOS7.X安装MySQL8.0

如果不想输入太复杂的密码,可以通过下面的方式降低密码复杂度,这样密码就可以随便设置了

修改密码强度的方法好像跟之前版本也不一样,我们用下面两条命令修改密码强度限制
设置密码强度级别,三个数字分别对应低,中,高三个级别.我们设置成"低"也就是0,其他的数字忘了
set global validate_password.policy=0;

这个是设置密码长度的,不能低于4位,根据需要自己设置长度.
set global validate_password.length=4;

这个是修改密码的命令,给root用户本地登录设置密码,"itliuwei"是我设置的密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'itliuwei';
正确结果应该是这样的,然后quit退出去,使用新密码登陆试试.有问题别找我,解决不了.

CentOS7.X安装MySQL8.0

6. 添加远程登录

一般不允许root用户进行远程登录,我先记录一下命令,这个是root远程登录授权的命令
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY '密码' WITH GRANT OPTION;
然后我们去给一个非root用户授权.也就是说root用户可以本地登录,远程登录就用这个用户
先创建用户,然后再授权(这里貌似也是个坑,之前版本是可以直接用上面这条命令的,系统会帮你创建用户.但是现在需要用下面这这两条命令)

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

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

注意:用以上命令授权的用户不能给其它用户授权,如果想让该用户可以授权,用以下命令: 
GRANT all ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;

创建完记得测试一下,随便你怎么测.然后就弄完了啊,可以去敲代码了.

CentOS7.X安装MySQL8.0

相关标签: CentOS MySQL8.0