在CentOS虚拟机上安装好了MySQL服务以后,在Windows上用Workbench客户端去连接时碰到很多问题,现在把解决过程记录一下。 然后看看防火墙的情况,CentOS7中防火墙改成了firewall,查看firewall的服务状态, firewall防火墙正在运行。 在网上查了一下,似乎是权限的问题,一般有两个途径, 第一个方法,可能是你的帐号不允许从远程登陆,只能在localhost。 试第二个方法,授权,例如你想myuser使用mypassword从任何主机连接到MySQL服务器的话,用下面的语句, mysql>grant all privileges on *.* to 'myuser 服务了。
测试目的 为什么我们要备份到远程服务器呢,通常有下面几种原因: 灾备,将备份放在远端服务器。 减少本地磁盘占用,假如本地已经没有多余的磁盘空间了,这时就可以直接备份到远端,而不必在本地保留备份文件。 验证备份文件可用性,通常,我们需要定期检验下备份文件可用性,那么就可以采用这种方式,直接备份到远程 MySQL 服务器并恢复。 添加从实例,直接备份到远程并恢复出一个实例,与主库建立复制。 测试结果 mysqlbackup 既可以直接将备份文件流式传输到远程服务器,还可以选择在传输到远端后直接恢复出数据。 使用 mysqlbackup 备份到远程服务器时,可以提前给服务器之间配置 SSH 密钥认证,实现免密登录,也可以在备份中途输入密码完成备份,两者皆可。 远程服务器上创建备份文件目录 shell> mkdir -p /root/xtrabackup_20210402 -- 备份文件以xbstream的方式传到远程服务器并解流 shell> innobackupex
热卖云产品年终特惠,2核2G轻量应用服务器7.33元/月起,更多上云必备产品助力您轻松上云
aliyun服务器MySQL开启远程连接 说下阿里云服务器开启MySQL远程连接吧 每次执行SQL命令都得去服务器上操作 很是不爽。所以。。。。。。 根据度娘的搜索 总结如下: 1.登陆MySQL mysql -u root -p 2.设置MySQL远程访问 grant all on *.* to ‘root’@'%' identified by ' 127.0.0.1 5.重启MySQL服务 sudo /etc/init.d/mysql restart 注意:注意:注意:一定要使用flush privileges; 刷新权限否则不生效 你以为这样就完了吗 哈哈,错啃爹的阿里MySQL 3306没有设置访问权限 6.登陆阿里云服务器 进入控制台-》云服务器ECS-》网络和安全-》安全组 选择你服务器所在大区(这里不得不吐槽一下,我只有一个大区,你还让我选啊 优先级:1(我这里设置的1) 再次提醒 如果上述操作完毕还是不能连接,那么再次执行 flush privileges; OK,至此MySQL就开启远程访问了,不足之处,欢迎指正
安装mysql # 查看有没有安装MySQL: dpkg -l | grep mysql # 完全卸载mysql参见https://www.cnblogs.com/mjhblog/p/10499772. ; # 输入\q退出mysql shell,这时您就可以使用新的密码登录您的数据库了 设置允许远程登录 # 输入新设的密码进入数据库 mysql -u root -p # 使用mysql数据库 use mysql; # 修改远程登陆权限 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION; # 设置持久化规则 sudo netfilter-persistent save sudo netfilter-persistent reload 打开安全组,设置入方向规则 这里我购买的是华为云的服务器 ,找到你的服务器的安全组的入方向规则,可以选择一键放通,或者快速放通3306,然后尽可以使用工具连接您的数据库了 ?
在Ubuntu下使用MySQL Workbench 连接远程云服务器MySQL步骤总结。 1.创建新用户 一般为了安全性,我们不直接使用root用户,而是选择创建一个新用户。 在服务器中,输入 mysql -u root -p ,进去mysql, 然后输入以下命令创建用户 GRANT ALL ON *.* to user@'ip' IDENTIFIED BY 'pwd'; sudo /etc/init.d/mysql restart 2.开启远程访问 因为mysql默认是关闭远程访问的,所以我们需要改一下。 ,我就觉得这个肯定不是正确的文件 经过我在官网的研究,发现了真正的文件 是这个 /etc/mysql/mysql.conf.d/mysqld.cnf 至少在我本地电脑和云服务器上都是这个,或者说,按照我的博文安装的 mysql数据库都是上面的文件 然后 我们编辑上面的文件,找到[mysqld] 下面增加: character-set-server =utf8 然后重启服务 sudo /etc/init.d/mysql
2.输入mysql -h要远程的IP地址 -u设置的MySQL用户名 -p登录用户密码 例如:mysql -h192.168.0.110 -uroot -p1233 (如果不能实现,把MySQL安装目录下的 MySQL Server 5.7下面的bin文件夹里的mysql.exe复制到c盘Windows下。) 这时应该在远程服务器,使用root登录(mysql -uroot -p),输入grant all privileges on *.* to'用户名'@'ip地址' identified by'密码',( 分配新用户的权限),然后进行刷新权限flush privileges; 然后重新启动mysql服务 (2)远程服务器防火墙阻挡远程连接数据库,关闭防火墙或者点开windows防火墙,允许程序或功能通过 window防火墙中的MySQL进行勾选(可能可允许的程序中没有MySQL这个选项)。
写在最前面 使用java操作远程的mysql数据库的时候,第一次请求非常的慢,而且极其容易引起系统的崩溃报错连接超时 如果远程服务器的mysql出现了以上的问题就可以用以下的方案来解决(亲测有效!) : show global variables like 'wait_timeout';//查询你当前的mysql的默认超时时间为多少 set global wait_timeout = 604800 ;//设置超时时间为7天 linux服务器环境下 修改 /etc/my.inii 文件 在 [mysqld]下面加入 下面这句配置 skip-name-resolve 完事 可以走了 分析 云服务器 不过,这样的话就不能在MySQL的授权表中使用主机名了而只能用ip格式。 服务器没有开远程帐户,就在my.ini里面加上skip-grant-tables 附,请根据情况开放 skip-name-resolve 一般我们只要这一项便可以 skip-grant-tables
宝塔面板安装Mysql是很方便的。可是有时候,我们需要远程连接怎么办? 一:开放对应的端口。如3306 在安全-添加放行端口。即可。 二:在创建数据库的时候,选择所有人。 我们远程连接依然会出问题。 问题解决方案: 使用PhpMyAdmin 打开之后: 选择mysql然后,执行sql.如上图: select user,host,password from user where user = "root 重启MySQL: 在软件商店中找到MySQL。如下图: 点击设置: 点击重启。重启之后,在远程连接就OK了。
我需要在C++中连接服务器上的MySQL数据库。但是直接连接失败了,原来服务器上还要修改一下MySQL的配置。 一、服务器上的配置mysql数据库 进入mysql: mysql -uroot -p 输入密码。 选择mysql数据库: use mysql; 增加允许远程访问的用户或者允许现有用户的远程访问。 update user set host='%' where user='root' and host='localhost'; 退出mysql: exit 重启数据库: sudo service mysql restart 二、C++连接服务器 基于上篇的程序上,如果要连接服务器的话,我们只要简单地修改一下服务器地址和数据库登陆的用户名和密码。
1.授予远程主机访问MySQL 在MySQL Server端,执行mysql 命令进入mysql 命令模式。使用grant命令用来建立新用户,指定用户口令并增加用户权限。 ; hostName:远程主机名或者IP地址; password:远程主机用户访问MySQL使用的密码。 ${dbContext}; } runsql "select * from testtable" 注意,上面访问MySQL的脚本中的用户名称和密码,就是在MySQL服务端授权指定的用户名称和密码。 需要通过-h指定MySQL服务端的主机地址。 示例二: 授予来自任意远程主机的用户dablelv对MySQL服务端的所有数据库和数据表拥有所有权限。 全局管理MySQL用户权限: file: 在MySQL服务器上读写文件。 PROCESS: 显示或杀死属于其它用户的服务线程。 RELOAD: 重载访问控制表,刷新日志等。
MySQL开启远程连接 在Linux上面装完MySQL 或 MariaDB,远程登录报错 Host is not allowed to connect to this MySQL server,是因为没有开启远程登陆 解决方法如下: 1、在装有MySQL的机器上登录MySQL; mysql -u root -p你的密码 2、执行下面命令; use mysql; 3、执行下面命令,执行完可能会报错,不用管它。 update user set host = '%' where user = 'root'; 4、继续执行命令,来刷新MySQL的权限相关表; FLUSH PRIVILEGES; 经过上面4步,就可以解决这个问题了
mysql 添加远程用户 添加用户 创建 mysql 用户 CREATE USER 'user1'@'localhost' IDENTIFIED BY 'user1_password'; 创建数据库: CHARSET `utf8`; 用户授权数据库 GRANT ALL PRIVILEGES ON test_db.* TO user1@'localhost'; flush privileges; 开启远程访问 ‘zheng’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘zhengzongwei’; flush privileges; 并开启mysql 允许远程访问配置,在 my.cnf 47行, bind-address 前增加 # 号,注释掉 bind-address = 127.0.0.1 sudo vi /etc/mysql/my.cnf # bind-address = 127.0.0.1 重启 mysql sodu service mysql restart mysql 修改用户名密码 use mysql; UPDATE
默认情况下,Centos系统的Mysql数据库是不允许被远程访问的 所以我们需要开启 我们SecureCRT客户端,输入mysql -uroot -p,使用Mysql 使用mysql数据库,Mysql 数据库是Mysql系统自带的数据库,带有用户表,我们可以添加用户,并授权 输入: use mysql 创建用户,允许所有ip访问;当然也可以设置特定的ip,然后host就要改成特定的ip 输入 select with grant option; 输入: flush privileges; ok,授权成功会提示 Query OK, 0 rows affected (0.00 sec) 然后输入腾讯云服务器的 ip,连接就可以连接到腾讯云服务器的数据库
use mysql;进入mysql库 grant all privileges on \*.\* to root@'%'identified by 'ur passwd'; 设置允许远程连接 flush
1.netstat -anpl | grep mysql 查看mysql的端口 如果没有请确定你的mysql已经成功安装好并运行 ps aux | grep mysql 查看mysql进程 2.centos7 add-port=3306/tcp #添加端口,格式为:端口/通讯协议 --permanent #永久生效 重启防火墙: systemctl restart firewalld.service 3.开启远程连接 动增加可以远程访问数据库的用户。 ; 方法二、直接授权(推荐) 从任何主机上使用root用户,密码:youpassword(你的root密码)连接到mysql服务器: # mysql -u root -proot mysql '@'%' IDENTIFIED BY 'root123' WITH GRANT OPTION; 操作完后切记执行以下命令刷新权限 FLUSH PRIVILEGES 这时再通过navicat远程链接
开启 MySQL 的远程登录需要一些配置,网上一些教程较陈旧,不适用于新版本。 改表法 更改 mysql 数据库里的 user 表里的 host 项,将 localhost 改为 % USE mysql; UPDATE user SET host = '%' WHERE user = 'root'; SELECT host, user FROM user; 授权法 例如,你想 myuser 使用 mypassword 从任何主机连接到 mysql 服务器的话。 服务器,并使用 mypassword 作为密码 GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword ' WITH GRANT OPTION; FLUSH PRIVILEGES; 如果你想允许用户 myuser 从 IP 为 192.168.1.6 的主机连接到 mysql 服务器的 dk 数据库
MySql是默认关闭远程连接的,需要给远程客户添加权限才能链接。 通过select*from mysql.user 查看用户及权限这个是可以查看权限的。。 首先:允许root用户在任何地方进行远程登录,并具有所有库任何操作权限,具体操作如下 : 首先进行授权操作语句: GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION 然后重载授权表 FLUSH PRIVILEGES 然后:允许root用户在一个特定的IP进行远程登录,并具有所有库任何操作权限,具体操作如下 是远程登录的密码设置!!
修改配置 修改/etc/mysql/mysql.conf.d目录下的mysqld.cnf配置文件: # Instead of skip-networking the default is now to 或者指定自己需要远程访问的IP地址。 然后重启mysql: ubuntu@VM-0-7-ubuntu:/etc/mysql/mysql.conf.d$ sudo /etc/init.d/mysql restart Restarting mysql (via systemctl): mysql.service. 2. > flush privileges; Query OK, 0 rows affected (0.00 sec) 至此我们已经完成了配置远程访问数据的所有操作,我们在看一下当前能访问我们数据库的用户:
一、MySQL 开启远程连接需要先在服务器上登录到 MySQL mysql -u root -p 然后 Enter password: 二、修改 root 账户的 Host 1、打开 mysql 数据库 use mysql; 2、查看 user 数据表当前已有的数据 select * from user \G; 3、修改一条 root 数据,并刷新MySQL的系统权限相关表 update user set .* to root @"%" identified by "root"; flush privileges; 三、注意事项 当出现 10038错误时 2003 - Can't content to MySQL server on '127.0.0.1' (10038) ,需要 check 以下几点; 1、记得在服务器安全组开放对应端口 2、开放了安全组后还是连接不上,就要检查防火墙了,可以参考文章:Centos
腾讯云数据库MySQL是一种高性能、高可靠、高安全、可灵活伸缩的数据库托管服务,其不仅经济实惠,而且提供备份回档、监控、快速扩容、数据传输等数据库运维全套解决方案,为您简化 IT 运维工作,让您能更加专注于业务发展。
扫码关注腾讯云开发者
领取腾讯云代金券