前言

服务器搭建mysql.修改临时密码,授权和禁止远程登录访问。

环境

操作系统     Linux centOS 8.3.1
    mysql 版本        MySQL 5.7.30
1、下载并安装官方的 yum repository (新建了mysql文件夹)

wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

2、安装下载过来的文件(yum repository)

yum -y install mysql57-community-release-el7-10.noarch.rpm

上面这两步应该不会有问题,有问题看看是不是命令敲错,或者网不好

3、进入正题:yum安装mysql

yum -y install mysql-community-server

可能出现如下错误
Linux安装mysql各种错误
解决办法
①、输入 yum module disable mysql 命令
Linux安装mysql各种错误
②、输入 yum -y install mysql-community-server命令重新安装服务(图没有截全)
Linux安装mysql各种错误
4, 启动mysql

service mysqld start
Linux安装mysql各种错误
5 查看是否启动成功

service mysqld status 出现如下表示启动成功,ctrl+c退出

Linux安装mysql各种错误
6 、查看MySQL版本号

mysql -V 大写V
Linux安装mysql各种错误
7、查看MySQL初始密码
grep “password” /var/log/mysqld.log
Linux安装mysql各种错误
8 、进入数据库

mysql -uroot -p 这里到-p就行了,回车会提示你输入密码的,密码隐式的,看不到,正确输入就行或者将上面保存的初始密码复制进去,如下数据库登陆成功
Linux安装mysql各种错误
9、修改密码
 ①、ALTER USER ‘root’@‘localhost’ IDENTIFIED BY
‘xxxxxx’ xxxxxx设置密码,有大小写字母数字,MySQL也可以设置密码不区分大小写,想了解的可以去网上找找。
Linux安装mysql各种错误
 ②、alter user’root’@‘localhost’ identified with mysql_native_password by ‘xxxxxx’;
Linux安装mysql各种错误
两种方法我都没有修改成功,两种的区别就是适用的版本不同,具体我不是很清楚,你可以两个都试试
解决办法
网上说法,不适合我的我没有解决
 ① 、查看密码策略并加以修改 (未解决)
参考博客
https://blog.csdn.net/hello_world_qwp/article/details/79551789.
Linux安装mysql各种错误
我的直接不能查看,所以无法修改,这篇博客评论区有个策略我没有试
不知道默认的密码规则,直接拿安装mysql时生成默认密码再设置一次就行(grep ‘temporary password’ /var/log/mysqld.log) temporary password就是你刚才保存的登录密码,有兴趣的可以实施,或者使用下面的方法。
 ②、修改/etc/my.cnf 在最后加入skip-grant-tables,跳过数据库权限验证,保存退出。
Linux安装mysql各种错误
重启MySQL服务 service mysqld restart
Linux安装mysql各种错误
因为密码还没修改成功,所以还用刚才保存的密码重新登陆,如图,修改密码成功
mysql -u root -p
use mysql;
update user set authentication_string = password(“xxxxxx”) where user=“root"oot” ;
flush privileges; //刷新系统权限表
Linux安装mysql各种错误
10、退出重新登录,输入修改后的密码,显示登录成功
Linux安装mysql各种错误
输入命令发现,一直报错
Linux安装mysql各种错误
解决方式如下:

MySQL版本5.7.6版本以前用户可以使用如下命令:
SET PASSWORD = PASSWORD(‘xxxxxx’);

MySQL版本5.7.6版本开始的用户可以使用如下命令:
ALTER USER USER() IDENTIFIED BY ‘xxxxxx’;

如果不清楚自己是什么版本,可以将两条都尝试一下,执行完命令,一切正常。
Linux安装mysql各种错误
对于出现此种情况,感兴趣的同学可以参考这篇博客

https://blog.csdn.net/muziljx/article/details/81541896.

至此Linux系统下mysql搭建完成,你可以愉快的在里面玩耍了,接下来我留下了悔恨我的泪水。

下面为需要远程登录遇到的一些问题以及解决办法

11、本地访问Linux服务器mysql,以 SQLyog 为例。

填写正确的连接信息,服务器禁止远程连接。错误如图
Linux安装mysql各种错误
连接上服务器MySQL,输入如下图命令打开系统权限表user.
Linux安装mysql各种错误
可以发现权限表 user 中 roo t用户 host 为 localhost
解决方法
① 你可以直接修改当前表中的 user 所对应的 host 为 %
update user set host =’%’ where user=‘root’;
Linux安装mysql各种错误
root用户登录,本地连接成功
Linux安装mysql各种错误
②、添加权限信息
grant all on . to [email protected]’%’ identified by ‘xxxxxx’; xxxxxx为你数据库密码

记得刷新权限表,亲
flush privileges;
如下图所示命令,我先将系统用户权限表里root用户记录更新回去,这样对比起来比较明显。
Linux安装mysql各种错误
至此,你就可以愉快的在本地连接服务器MySQL玩耍了,接下来我又留下了悔恨我的泪水。

12、 取消远程登录权限
在网上看了一些命令,发现都没作用,你们也可以试试或许对你们有作用,列出了如下博客提供的命令。

https://blog.csdn.net/zyddj123/article/details/80482329.

revoke 跟 grant 的语法差不多,只需要把关键字 “to” 换成 “from” 即可:
①、grant all on . to [email protected];
②、revoke all on . from [email protected];

https://blog.csdn.net/xie_sining/article/details/80484063.

取消授权远程访问操作如下:
①、use mysql;
②、revoke all privileges on . from ‘root’@’%’;
③、flush privileges;

解决方法;
① 删除屏蔽 /etc/my.conf 的 skip-grant-tables,这个是屏蔽系统权限
Linux安装mysql各种错误
② 直接修改系统用户 user 表的 host,将需要修改的用户的 host 改为 localhost 或者删除,以root用户为例
delete user where user=‘root’ and host=’%’;
Linux安装mysql各种错误
Linux安装mysql各种错误
如图,连接失败,以前在服务器搭建MySQL,也没遇到这么多错误,这次遇到这莫多,顺便做个记录,

方便以后安装时再出问题。

总结

至此,解决过程中的所有错误,哎,搭建一个MySQL什么时候这么复杂了,我太难了,感觉主要是

mysql版本变化比较大,大家选择的版本不尽相同,以至于有些命令不能顺利执行,还是要感谢对我起到

帮助的博客主,谢谢。

相关文章: