首页 热点资讯 义务教育 高等教育 出国留学 考研考公
您的当前位置:首页正文

CentOs7中Mysql8.0设置远程连接

2023-11-12 来源:华拓网

1 登陆Mysql

mysql -uroot -p

输入密码

2 选择 mysql 数据库

use mysql;

在mysql数据库中存储了用户信息的user表

3 在 mysql 数据库的 user 表中查看当前 root 用户的相关信息

select host, user, authentication_string, plugin from user;

技术图片

可以看到root用户的host默认为localhost,只允许本地访问,不允许远程连接..

为了安全(网上有人是这么说的,作为菜鸡,我也不知道安全这方面的知识),新创建一个用户用于远程连接

4 新建用户

#CREATE USER ‘用户名‘@‘主机‘ IDENTIFIED BY ‘密码‘;

CREATE USER ‘lylong‘@‘%‘ IDENTIFIED BY ‘901109‘;

这一步提示密码过于简单,先执行一下两条命令,再次运行创建用户的命令就行 .

set global validate_password.policy=0;

set global validate_password.length=1;

5 mysql8.0默认的加密方式是“caching_sha2_password”,而navicat只支持以前的"mysql_native_password",所以接下来修改密码加密方式

ALTER USER ‘lylong‘@‘%‘ IDENTIFIED WITH mysql_native_password BY ‘901109‘;

修改后可以执行select host,user,plugin from user;语句,查看新增用户的plugin是否是"mysql_native_password"

6 设置该账户可以远程登陆

GRANT ALL PRIVILEGES ON *.* TO ‘lylong‘@‘%‘;

7 刷新权限

flush privileges;

8 用navicat连接看是否可以远程登陆,默认端口为3306,如果不能,则查看防火墙是否开启了该端口。

查看防火墙开放端口:iptables-save

技术图片

我这里已经开了.如果没开,则执行以下命令:

添加端口:firewall-cmd --zone=public --add-port=3306/tcp --permanent

重载防火墙:firewall-cmd --reload

 

 

以上,是折腾了一整天弄好的.

 mysql8.0和5.7比,改动了挺多的地方:

1 修改密码验证

5.7                        8.0   

set global validate_password_policy=0;      set global validate_password.policy=0;

set global validate_password_length=1;      set global validate_password.length=1;

2 设置账号远程登陆

5.7:GRANT ALL PRIVILEGES ON *.* TO ‘lylong‘@‘%‘ IDENTIFIED BY ‘root‘ WITH GRANT OPTION;

8.0   GRANT ALL PRIVILEGES ON *.* TO ‘lylong‘@‘%‘

 

CentOs7中Mysql8.0设置远程连接

标签:技术   set   save   两条命令   zone   改密码   oba   cmd   alt   

小编还为您整理了以下内容,可能对您也有帮助:

mysql8安装centos7好后不能远程连接,skip-name-resolve也没用服务器里能登录?

--skip-name-resolve选项启动mysqld来禁用DNS主机名查找。只是处理连接可能慢的问题。

要设置远程登陆:

默认情况下,mysql只允许本地登录,如果要开启远程连接,则需要修改/etc/mysql/my.conf文件。

一、修改/etc/mysql/my.conf
找到bind-address = 127.0.0.1这一行
改为bind-address = 0.0.0.0即可

二、为需要远程登录的用户赋予权限管理用户

1、新建用户远程连接mysql数据库
grant all on *.* to admin@'%' identified by '123456' with grant option; 
flush privileges;
允许任何ip地址(%表示允许任何ip地址)的电脑用admin帐户和密码(123456)来访问这个mysql server。

注意admin账户不一定要存在。

2、支持root用户允许远程连接mysql数据库
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
flush privileges; 

三 ,  访问地址到 mysql服务器 端口是通的。

mysql8安装centos7好后不能远程连接,skip-name-resolve也没用服务器里能登录?

--skip-name-resolve选项启动mysqld来禁用DNS主机名查找。只是处理连接可能慢的问题。

要设置远程登陆:

默认情况下,mysql只允许本地登录,如果要开启远程连接,则需要修改/etc/mysql/my.conf文件。

一、修改/etc/mysql/my.conf
找到bind-address = 127.0.0.1这一行
改为bind-address = 0.0.0.0即可

二、为需要远程登录的用户赋予权限管理用户

1、新建用户远程连接mysql数据库
grant all on *.* to admin@'%' identified by '123456' with grant option; 
flush privileges;
允许任何ip地址(%表示允许任何ip地址)的电脑用admin帐户和密码(123456)来访问这个mysql server。

注意admin账户不一定要存在。

2、支持root用户允许远程连接mysql数据库
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
flush privileges; 

三 ,  访问地址到 mysql服务器 端口是通的。

CentOS7和CentOS6怎样开启MySQL远程访问







1.开放mysql访问端口3306
修改防火墙配置文件
vi /etc/sysconfig/iptables
加入端口配置 注意:增加的开放3306端口的语句一定要在icmp-host-prohibited之前
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
重新加载规则
service iptables restart
默认mysql的用户是没有远程访问的权限的,因此当程序跟数据库不在同一台服务器上时,我们需要开启mysql的远程访问权限。
主流的有两种方法,改表法和授权法。
相对而言,改表法比较容易一点,个人也是比较倾向于使用这种方法,因此,这里只贴出改表法
2.修改mysql库里的host
登录mysql;
use mysql
update user set host=‘%‘ where user=‘root‘ and host=‘localhost‘;
记得一定还得修改密码,因为这时密码已失效,虽然本地还可以原密码登录,可远程改了host后还是没法访问
UPDATE user SET password=password("root") WHERE user=‘root‘;
flush privileges;
3.重启mysql,远程就可以访问了
service mysqld restart;
CentOS7开启MySQL远程访问
CentOS7这个版本的防火墙默认使用的是firewall,与之前的版本使用iptables不一样。按如下方便配置防火墙:
1、关闭防火墙:sudo systemctl stop firewalld.service
2、关闭开机启动:sudo systemctl disable firewalld.service

3、安装iptables防火墙
执行以下命令安装iptables防火墙:sudo yum install iptables-services
?
4、配置iptables防火墙,打开指定端口(CentOS6一样)
5、设置iptables防火墙开机启动:sudo systemctl enable iptables
6、之后的和CentOS6一样
CentOS下防火墙的基本操作命令
CentOS 配置防火墙操作实例(启、停、开、闭端口):

注:防火墙的基本操作命令:
查询防火墙状态:
[root@localhost ~]# service iptables status
停止防火墙:
[root@localhost ~]# service iptables stop
启动防火墙:
[root@localhost ~]# service iptables start
重启防火墙:
[root@localhost ~]# service iptables restart
永久关闭防火墙:
[root@localhost ~]# chkconfig iptables off
永久关闭后启用:
[root@localhost ~]# chkconfig iptables on



CentOS7和CentOS6怎样开启MySQL远程访问
标签:操作启动top基本操作命令tedandblecentos7远程

CentOS7和CentOS6怎样开启MySQL远程访问







1.开放mysql访问端口3306
修改防火墙配置文件
vi /etc/sysconfig/iptables
加入端口配置 注意:增加的开放3306端口的语句一定要在icmp-host-prohibited之前
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
重新加载规则
service iptables restart
默认mysql的用户是没有远程访问的权限的,因此当程序跟数据库不在同一台服务器上时,我们需要开启mysql的远程访问权限。
主流的有两种方法,改表法和授权法。
相对而言,改表法比较容易一点,个人也是比较倾向于使用这种方法,因此,这里只贴出改表法
2.修改mysql库里的host
登录mysql;
use mysql
update user set host=‘%‘ where user=‘root‘ and host=‘localhost‘;
记得一定还得修改密码,因为这时密码已失效,虽然本地还可以原密码登录,可远程改了host后还是没法访问
UPDATE user SET password=password("root") WHERE user=‘root‘;
flush privileges;
3.重启mysql,远程就可以访问了
service mysqld restart;
CentOS7开启MySQL远程访问
CentOS7这个版本的防火墙默认使用的是firewall,与之前的版本使用iptables不一样。按如下方便配置防火墙:
1、关闭防火墙:sudo systemctl stop firewalld.service
2、关闭开机启动:sudo systemctl disable firewalld.service

3、安装iptables防火墙
执行以下命令安装iptables防火墙:sudo yum install iptables-services
?
4、配置iptables防火墙,打开指定端口(CentOS6一样)
5、设置iptables防火墙开机启动:sudo systemctl enable iptables
6、之后的和CentOS6一样
CentOS下防火墙的基本操作命令
CentOS 配置防火墙操作实例(启、停、开、闭端口):

注:防火墙的基本操作命令:
查询防火墙状态:
[root@localhost ~]# service iptables status
停止防火墙:
[root@localhost ~]# service iptables stop
启动防火墙:
[root@localhost ~]# service iptables start
重启防火墙:
[root@localhost ~]# service iptables restart
永久关闭防火墙:
[root@localhost ~]# chkconfig iptables off
永久关闭后启用:
[root@localhost ~]# chkconfig iptables on



CentOS7和CentOS6怎样开启MySQL远程访问
标签:操作启动top基本操作命令tedandblecentos7远程

mysql在centos上安装和远程连接

首先要确保服务器上安装有MySQL,执行如下命令来检查是否安装了 MySQL(CentOS 7 上是 mariadb-server,CentOS 6 上是 mysql-server,这里以 CentOS 7 为例)

$ rpm -q mariadb-server

如果提示 package mariadb-server is not installed 则说明没有安装 MySQL,需要手动安装。如果出现 mariadb-server-xxx.xxx.xx.el7.x86_64 则说明已经安装。

安装 MySQL 的步骤为:

1.安装 MySQL 和 MySQL 客户端

$ sudo yum -y install mariadb mariadb-server

2.启动 MySQL

$ sudo systemctl start mariadb

3.设置开机启动

$ sudo systemctl enable mariadb

4.设置初始密码

$ sudo mysqladmin -u root password root

这时我们有两种方式来进行修改,这里只用了第一种,就直接将原来的 user='root' and host='localhost' 记录的host修改成%或指定的ip。

1.将host设置为%表示任何ip都能连接mysql

update user set host='%' where user='root' and host='localhost';

2.当然也可以将host指定为某个ip

update user set host='*.*.*.*' where user='root' and host='localhost';

这里将 . . . 换你实际的地址。

3.执行完以上语句,接着执行以下语句 ,刷新权限表,使配置生效

flush privileges;

1.检查服务器防火墙3306端口开放了吗,没开放需要去开放

2.检查一下云平台的安全组规则中是否开放了3306端口,如何配置阿里云,这里以阿里云为例( 阿里云添加安全组规则 )

Linux下mysql允许远程连接怎么设置

    使用“Ctrl + R”组合键快速打开cmd窗口,并输入“cmd”命令,打开cmd窗口。

    使用“mysql -uroot -proot”命令可以连接到本地的mysql服务。

    使用“use mysql”命令,选择要使用的数据库,修改远程连接的基本信息,保存在mysql数据库中,因此使用mysql数据库。

    使用“GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;”命令可以更改远程连接的设置。

    使用“flush privileges;”命令刷新刚才修改的权限,使其生效。

    使用“select host,user from user;”查看修改是否成功。

显示全文