CentOS7完成mysql的安装和远程访问

详见链接https://blog.csdn.net/weixin_42266606/article/details/80879571

(此处我的本地用户名root,密码root;远程用户名root,密码123456)

1.下载 MySQL 所需要的安装包

        网址:https://dev.mysql.com/downloads/mysql/

 

2.Select Operating System: 选择 Red Hat ,CentOS 是基于红帽的,Select OS Version: 选择 linux 7

 

3.选择 RPM Bundle 点击 Download

 

4.点击 No thanks, just start my download. 进行下载

 

5.下载好了

 

6.打开 VMware,选中要使用的虚拟机,点击开启此虚拟机

 

7.最小化虚拟机,不用管他了

 

8.打开 xshell,选择虚拟机 ip 所对应的会话,点击连接

 

9.连接成功

 

10.通过 rpm -qa | grep mariadb 命令查看 mariadb 的安装包

 

11.通过 rpm -e mariadb-libs-5.5.56-2.el7.x86_64 --nodeps 命令装卸 mariadb

 

12.通过 rpm -qa | grep mariadb 命令再次查看 mariadb 的安装包

 

13.通过 cd /usr/local/ 命令进入根目录下的usr目录下的local目录,这个目录是放一些本地的共享资源的

 

14.通过 ll 命令查看一下当前目录下的目录结构

 

15.通过 mkdir mysql 命令 在当前目录下创建一个名为 mysql 的目录

 

16.通过 ll 命令查看一下当前目录下的目录结构,刚创建的 mysql 目录有了

 

17.通过 cd mysql 命令进入 mysql 目录

 

18.通过 ll 命令查看一下当前目录下的目录结构

 

19.点击 窗口 -->> 传输新建文件,通过 ftp 协议来把刚下载好的 mysql 安装包传输到 CentOS7 系统中

 

20.在左边找到你 mysql 安装包的下载目录

 

21.在你想要传输的文件上单机右键,点击传输

 

 

22.上传成功后,关闭 ftp 传输工具

 

 

23.通过 ll 命令查看一下当前目录下的目录结构

 

24.通过 tar -xvf mysql-8.0.11-1.el7.x86_64.rpm-bundle.tar  命令解压 tar 包

 解压到/usr/local/mysql

25.通过 clear 命令清一下屏

 

26.通过 rpm -ivh mysql-community-common-8.0.11-1.el7.x86_64.rpm --nodeps --force 命令安装 common

 

27.通过 rpm -ivh mysql-community-libs-8.0.11-1.el7.x86_64.rpm --nodeps --force 命令安装 libs

 

28.通过 rpm -ivh mysql-community-client-8.0.11-1.el7.x86_64.rpm --nodeps --force 命令安装 client

 

29.通过 rpm -ivh mysql-community-server-8.0.11-1.el7.x86_64.rpm --nodeps --force 命令安装 server

 

30.通过 rpm -qa | grep mysql 命令查看 mysql 的安装包

 

31.通过以下命令,完成对 mysql 数据库的初始化和相关配置

yum -y install libaio;

mysqld --initialize;
chown mysql:mysql /var/lib/mysql -R;
systemctl start mysqld.service;
systemctl enable mysqld;


32.通过 cat /var/log/mysqld.log | grep password 命令查看数据库的密码

 

33.通过 mysql -uroot -p 敲回车键进入数据库登陆界面

 

34.输入刚刚查到的密码,进行数据库的登陆,复制粘贴就行,MySQL 的登陆密码也是不显示的

 

34.1:如果是在安装mysql8点几的版本,那么第35步的时候没法执行(会出现Your password does not satisfy the current policy requirements你的密码不符合当前的要求),

   2.那么需要经过一下几步操作

  查看 mysql 初始的密码策略,
  输入语句 “ SHOW VARIABLES LIKE 'validate_password%'; ” 进行查看,

 

   首先需要设置密码的验证强度等级,设置 validate_password_policy 的全局参数为 LOW 即可,

  输入设值语句 “ set global validate_password_policy=LOW; ” 进行设置

 

   当前密码长度为 8 ,如果不介意的话就不用修改了,按照通用的来讲,设置为 6 位的密码,设置 validate_password_length 的全局参数为 6 即可,

  输入设值语句 “ set global validate_password_length=6; ” 进行设值,

 

   现在可以为 mysql 设置简单密码了,只要满足六位的长度即可,

  输入修改语句 “ ALTER USER 'root'@'localhost' IDENTIFIED BY '123456'; ” 可以看到修改成功,表示密码策略修改成功了!!!

 

35.通过 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root'; 命令来修改密码(此处必须修改密码)

 

36.通过 exit; 命令退出 MySQL,然后通过新密码再次登陆

 

37.通过以下命令,进行远程访问的授权

create user 'root'@'%' identified with mysql_native_password by 'root';
grant all privileges on *.* to 'root'@'%' with grant option;
flush privileges;

37的注释:

新版SQL授权用户时报错 near 'IDENTIFIED BY '密码' with grant option' at line 1

1 问题:

当使用 grant 权限列表 on 数据库 to ‘用户名’@’访问主机’ identified by ‘密码’; 时会出现”……near ‘identified by ‘密码” at line 1”这个错误

2 原因:

因为新版的的mysql版本已经将创建账户和赋予权限的方式分开了

3解决办法:

创建账户:create user ‘用户名’@’访问主机’ identified by ‘密码’;

赋予权限:grant 权限列表 on 数据库 to ‘用户名’@’访问主机’ ;(修改权限时在后面加with grant option)

 

38.通过 ALTER USER 'root'@'localhost' IDENTIFIED BY 'root' PASSWORD EXPIRE NEVER; 命令修改加密规则,MySql8.0 版本 和 5.0 的加密规则不一样,而现在的可视化工具只支持旧的加密方式。

 

39.通过 flush privileges; 命令刷新修该后的权限

 

40.通过 exit; 命令退出 MySQL

 

41.通过以下命令,关闭 firewall(此处不用关闭也行,我觉得不用关闭比较好)

//systemctl stop firewalld.service;
//systemctl disable firewalld.service;
//systemctl mask firewalld.service;

我们可以输入命令查看防火墙的状态;

firewall-cmd --state  ;

如果上一步处于关闭状态,输入命令:

systemctl start firewalld.service;

开启3306端口,输入命令:

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

让我们来解释一下上一个命令:

--zone=public:表示作用域为公共的;

--add-port=8080/tcp:添加tcp协议的端口8080;

--permanent:永久生效,如果没有此参数,则只能维持当前服务生命周期内,重新启动后失效;

输入命令重启防火墙;

systemctl restart firewalld.service;

输入命令重新载入配置;

firewall-cmd --reload;

 

42.通过 yum -y install iptables-services  命令安装 iptables 防火墙

 

43.通过以下命令启动设置防火墙

systemctl enable iptables;
systemctl start iptables;


44.通过 vim /etc/sysconfig/iptables 命令编辑防火墙,添加端口

 

45.点击 i 键进入插入模式

 

46.在相关位置,写入以下内容

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8090 -j ACCEPT


47.点击 ESC 键退出插入模式

 

48.点击 : 键,输入 wq 敲回车键保存退出,: 为英文状态下的

 

49.通过 systemctl restart iptables.service 命令重启防火墙使配置生效

 

50.通过 systemctl enable iptables.service 命令设置防火墙开机启动

 

51.通过 ifconfig 命令查看 ip

 

52.如果进行阿里云远程连接,那么需要设置阿里云ECS服务器安全组

 

 

53.新建 SQLyog  的连接

 

534连接成功

posted @ 2019-03-18 19:37  Mrzxs  阅读(573)  评论(0编辑  收藏  举报