Centos yum安装mysql8

参考:https://blog.csdn.net/our_times/article/details/98882701

阿里云的坑====>参考:https://blog.csdn.net/qq_40990854/article/details/90274218

需要阿里云开放特定端口

1、准备工作

1.查看是否有安装过mysql
rpm -qa | grep -i mysql

2.删除mysql(如果匹配不到,就根据上面查出来的结果,挨个具体的使用此语句删除)
yum -y remove MySQL-*

一般用rpm -e 的命令删除mysql,这样表面上删除了mysql,可是mysql的一些残余程序仍然存在,并且通过第一步的方式也查找不到残余,而yum命令比较强大,可以完全删除mysql.(ps:用rpm删除后再次安装的时候会提示已经安装了,这就是rpm没删除干净的原因)

3.把所有出现的目录统统删除
find / -name mysql

查找mysql的一些目录,把所有出现的目录删除,可以使用rm -rf 路径,删除时请注意,一旦删除无法恢复。

4.删除配置文件
rm -rf /etc/my.cnf

5.删除mysql的默认密码
rm -rf /root/.mysql_sercret

删除mysql的默认密码,如果不删除,以后安装mysql这个sercret中的默认密码不会变,使用其中的默认密码就可能会报类似Access denied for user ‘root@localhost’ (using password:yes)的错误.

五步完成之后,这样mysql就全部删除干净了,若没安装过mysql可忽略以上步骤

2、安装mysql,并且初始化

1.配置Mysql 8.0安装源
sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

2.安装Mysql 8.0
sudo yum --enablerepo=mysql80-community install mysql-community-server

看到complet(完毕)就是安装完啦

yum install mysql-server 没有可用软件包怎么办?

今天在 Linux 上安装 mysql-server 的时候,出现了以下这个问题。(环境是 Centos 7)

没有可用软件包 mysql-server。 错误:无须任何处理 解决方法:

1.下载相应 rpm 包:
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm

2.升级安装
rpm -ivh mysql-community-release-el7-5.noarch.rpm

3.重新使用 yum 进行 mysql-server 安装
yum -y install mysql-server
4.启动mysql服务
sudo service mysqld start

显示如下:
在这里插入图片描述

启动完成

5.查看mysql服务运行状态
service mysqld status

显示如下:
在这里插入图片描述

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

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

7.更改临时密码
输入:mysql -uroot -p
在Enter password:后面输入临时密码
登录成功
输入: ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
会提示:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements(密码不符合当前策略)
方案1: 设置符合策略的密码(大小写字母+数据+符号)
方案2:密码策略改简单一点

方案2设置方式
- 先看看当前的密码验证策略
- 输入:SHOW VARIABLES LIKE 'validate_password.%';
- 策略说明
  validate_password.length 是密码的最小长度,默认是8,我们把它改成6
  输入:set global validate_password.length=6;
  validate_password.policy 验证密码的复杂程度,我们把它改成0
  输入:set global validate_password.policy=0;
  validate_password.check_user_name 用户名检查,用户名和密码不能相同,我们也把它关掉
  输入:set global validate_password.check_user_name=off;
- 再执行修改密码的命令
  输入:ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
  密码设成功

用mysql客户连接报不允许连接的错误,那是因为没开通远程访问的权限

3、mysql运维

启动mysql: 
	方式一:sudo /etc/init.d/mysql start 
	方式二:sudo service mysqld start
停止mysql: 
	方式一:sudo /etc/init.d/mysql stop 
	方式二:sudo service mysqld stop 
重启mysql: 
	方式一:sudo/etc/init.d/mysql restart 
	方式二:sudo service mysqld restart

Centos查看端口占用情况命令,比如查看80端口占用情况使用如下命令:
lsof -i tcp:80

列出所有端口
netstat -ntlp

有的需要配置端口,打开3306端口
	sudo ufw allow 3306 
查看mysql 的启动状态
	ps aux | grep mysqld 命令来
查看mysql的监听端口
	sudo netstat -tap | grep mysql
	sudo netstat -antp |grep mysql

4、配置远程访问

输入:GRANT ALL ON . TO 'root'@'%';

报错:
mysql> GRANT ALL ON . TO 'root'@'%'';
ERROR 1410 (42000): You are not allowed to create a user with GRANT

看下默认MySQL用户:
输入:use mysql;
输入:select host, user, authentication_string, plugin from user;
- 发现root的host是localhost,不是%,可以加个host是%的root账号:

输入:CREATE USER 'root'@'%' IDENTIFIED BY 'KC$abc123';
# ALTER USER 'root'@'%' IDENTIFIED BY '123456';
# CREATE USER 'qzl'@'%' IDENTIFIED BY '123456';

再查下用户
输入:select host, user, authentication_string, plugin from user;
在这里插入图片描述
可以看到已经新增了host为%的root用户

输入:
$ GRANT ALL privileges ON *.* TO 'root'@'%';
$ GRANT ALL PRIVILEGES ON *.* TO 'qzl'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
$ flush privileges;

配置成功

可删除授权操作:
# REVOKE all on TEST-DB from test-user;

8.客户端连接mysql报错
原因是mysql8的加密方式规则不一样,是caching_sha2_password
需要加密方式改成mysql_native_password就行了
语法:ALTER USER ‘[用户名]’@’%’ IDENTIFIED WITH mysql_native_password BY ‘[密码]’;
输入:ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
加密方式以及改成了mysql_native_password

9.客户端连接mysql还报错
查看防火墙状态,关闭状态
阿里云需要开放3306端口
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值