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;”查看修改是否成功。