centos7 yum安装mysql8

一 安装mysql 8.0 yum源
cd /etc/yum.repos.d/

curl https://repo.mysql.com//mysql80-community-release-el7-3.noarch.rpm > centos7.mysql.rpm

yum install centos7.mysql.rpm -y

#修改mysql 8.0镜像,关闭强制认证

vi mysql-community.repo

二 yum安装mysql
/*

#查看下列文件的属性,确保没有输出i属性

lsattr /etc/passwd

lsattr /etc/group

lsattr /etc/shadow

lsattr /etc/gshadow

 假如有i属性,那在后面执行yum install mysql-community-server -y时会无法自动建mysql用户,会报错:

warning: user mysql does not exist - using root

后面Mysql也起不来,执行journalctl -xe报错:

Mar 18 17:44:23 Centos7-Mode-V8 systemd[25239]: Failed at step USER spawning /usr/bin/mysqld_pre_systemd: No such process

-- Subject: Process /usr/bin/mysqld_pre_systemd could not be executed

需要去除i属性:

chattr -ia /etc/passwd

chattr -ia /etc/group

chattr -ia /etc/shadow

chattr -ia /etc/gshadow

*/

yum install mysql-community-server -y

三 启动mysql
systemctl start mysqld

systemctl enable mysqld

#检查启动状态

systemctl status mysqld

四 查看root临时密码
安装完mysql之后,会生成一个临时的密码让root用户登录

grep "temporary password" /var/log/mysqld.log

如果/var/log/mysqld.log没有这个目录

可能是MySQL服务没有初始化好。可以按照如下流程重新初始化一下试试:

1、删除原来安装过的mysql残留的数据

rm -rf /var/lib/mysql

2、重启mysqld服务

systemctl restart mysqld

3、再去找临时密码

grep 'temporary password' /var/log/mysqld.log

五 安全操作

mysql_secure_installation

mysql_secure_installation命令的作用:

  1. 可以为root帐户设置密码。
  2. 可以删除外部访问的root帐户。
  3. 可以删除匿名帐户。
  4. 可以删除测试数据库(默认情况下,所有用户,包括匿名用户都可以访问该数据库)以及相关权限。

使用

mysql_secure_installation

常用选项

-h host_name
-P port_num
-u user_name
-p password

六  解决SELECT list is not in GROUP BY clause and contains nonaggregated column

SELECT list is not in GROUP BY clause and contains nonaggregated column解决和总结_悲雨叹风的博客-优快云博客

七 

 4.登录root用户

mysql -u root -p

然后输入初始密码,此时不能做任何事情,因为MySQL默认必须修改密码之后才能操作数据库,否则会报错。

 5.修改密码

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';

这里有个问题,新密码设置的时候如果设置的过于简单会报错:

原因是因为MySQL有密码设置的规范,具体是与validate_password_policy的值有关:

MySQL完整的初始密码规则可以通过如下命令查看:

 密码的长度是由validate_password_length决定的,而validate_password_length的计算公式是:

validate_password_length = validate_password_number_count + validate_password_special_char_count + (2 * validate_password_mixed_case_count)

如果想要设置简单的密码必须要修改约束,修改两个全局参数: 

validate_password_policy代表密码策略,默认是1:符合长度,且必须含有数字,小写或大写字母,特殊字符。设置为0判断密码的标准就基于密码的长度了。一定要先修改两个参数再修改密码

mysql> set global validate_password.policy=0;

validate_password_length代表密码长度,最小值为4

mysql> set global validate_password.length=4; 

 修改完,如图

 此时密码就可以设置的很简单,例如1234之类的。到此数据库的密码设置就完成了。

ALTER USER 'root'@'localhost' IDENTIFIED BY '%V9Ha1Ne0B9C4r0J&';

CREATE USER 'w.s.w'@'localhost' IDENTIFIED BY 'wangwei2';

grant all privileges on `ry-vue`.* to 'w.s.w'@'localhost' WITH GRANT OPTION;

FLUSH PRIVILEGES;

 但此时还有一个问题,就是因为安装了Yum Repository,以后每次yum操作都会自动更新,需要把这个卸载掉:

[root@localhost ~]# yum -y remove mysql80-community-release-el7-2.noarch

八 解决sqlog 2058错误

[root@localhost~]# ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值