Linux安装MySQL,并使用Navicat连接

知识点:

  1. yum源

Yum源

  Yum是Redhat、CentOS中的软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

  说到yum源就必须说到linux系统中特有的依赖关系问题,yum就是为了解决依赖关系而存在的。yum源就相当是一个目录项,当我们使用yum机制安装软件时,若需要安装依赖软件,则yum机制就会根据在yum源中定义好的路径查找依赖软件,并将依赖软件安装好。

  YUM是“Yellow dog Updater, Modified”的缩写,是一个软件包管理器,YUM从指定的地方(相关网站的rpm包地址或本地的rpm路径)自动下载RPM包并且安装,能够很好的解决依赖关系问题。

  YUM的基本工作机制如下:

    服务器端:在服务器上面存放了所有的RPM软件包,然后以相关的功能去分析每个RPM文件的依赖性关系,将这些数据记录成文件存放在服务器的某特定目录内。
    客户端:如果需要安装某个软件时,先下载服务器上面记录的依赖性关系文件(可通过WWW或FTP方式),通过对服务器端下载的纪录数据进行分析,然后取得所有相关的软件,一次全部下载下来进行安装。

 步骤:

1、替换Yum源

  1)yum源

curl -o /etc/yum.repos.d/CentOS-Base.repo mirrors.163.com/.help/CentOS7-Base-163.repo

  2)更新缓存

yum clean all
yum makecache

 2、安装MySQL

  1)下载rpm文件

yum localinstall https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm

  2)安装MySQL

yum install mysql-community-server -y

3、启动MySQL

  1)启动数据库

service mysql start

   2)查看密码

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

  3)登录

mysql -u root -p

 注意:启动数据库时,报错:Uint can't to found,需要找到mysql文件,放置/etc/init.d/下,才可以使用service mysql start启动mysql

4、修改密码

alter user user() identified by '123456';

注意:在修改密码时,报错:Your password dees not satisfy the current policy requirements,触发了密码策略,所以需要修改密码策略,输入:“show variables like  'validate_password%'; ”,修改单项策略:“set global validate_password.length=6;”等等(Mysql 8)

 5、允许远程使用root账户

update user set host='%' where user='root';
flush privileges;

注意:如果直接在mysql中键入,报错:No database selected,所以需要输入“use mysql”,如果没有这一步,Navicat连接MySQL时,会报2059错误

6、修改/etc/my.cnf文件

character_set_server = utf8
bind-address=0.0.0.0

7、重新启动

service mysqld restart

8、系统防火墙开放3360端口

firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload

 9、使用Navicat连接Mysql

  连接过程中出现报错:2059,查询后是由于mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password, 解决问题方法有两种,一种是升级navicat驱动,一种是把mysql用户登录密码加密规则还原成mysql_native_password.

所以需要修改密码,会报密码不符合密码策略,参照4

注意:刚开始我输入"alter user 'root'@'localhost...",直接报错,

mysql> use mysql ;
mysql> select user,host from user ;

列示出root帐户对应的host与其它不同,所以需要更改为"alter user 'root'@'%'...",更改后就可以成功连接MySQL了

注:隔天连接Mysql,又出现报错:1045,哎,真的是老出问题

  1)修改 /etc/my.cnf 文件

  2)[mysqld]后面任意一行添加“skip-grant-tables”用来跳过密码验证的过程

  3)user mysql;重置密码

不好意思,突然想起密码昨天修改了,是我记错了,尴尬,没有表情可言,哈哈哈……


   在 /etc/my.cnf 注释了#skip-grant-tables后,Navicat连接Mysql报错:2003

  授权时,才发现由于skip-grant-tables的问题,删掉后,就可以连接Navicat了

原文地址:https://www.cnblogs.com/echola/p/13220243.html