Centos 7 mysql 5.7 给root开启远程访问权限,修改root密码

转载2016-05-13 15:08:15

1.MySql-Server 出于安全方面考虑只允许本机(localhost, 127.0.0.1)来连接访问. 这对于 Web-Server 与 MySql-Server 都在同一台服务器上的网站架构来说是没有问题的. 但随着网站流量的增加, 后期服务器架构可能会将 Web-Server 与 MySql-Server 分别放在独立的服务器上, 以便得到更大性能的提升, 此时 MySql-Server 就要修改成允许 Web-Server 进行远程连接.

我们可以按照下面的步骤修改:

1, 登录 Mysql-Server 连接本地 mysql (默认只允许本地连接) :

[root@stonex ~]#  mysql -u root -p

2, 修改 Mysql-Server 用户配置

mysql> USE mysql; -- 切换到 mysql DB

Database changed

mysql> SELECT User, Password, Host FROM user; -- 查看现有用户,密码及允许连接的主机

+------+----------+-----------+

| User | Password | Host      |

+------+----------+-----------+

| root |          | localhost |

+------+----------+-----------+

1 row in set (0.00 sec)

mysql> -- 只有一个默认的 root 用户, 密码为空, 只允许 localhost 连接

12

mysql> -- 下面我们另外添加一个新的 root 用户, 密码为空, 只允许 192.168.1.100 连接

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;

mysql> -- @'192.168.1.100'可以替换为@‘%’就可任意ip访问,当然我们也可以直接用 UPDATE 更新 root 用户 Host, 但不推荐, SQL如下:

mysql> -- UPDATE user SET Host='192.168.1.100' WHERE User='root' AND Host='localhost' LIMIT 1;

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)

复制代码

修改root密码

mysql> use mysql

Database changed

mysql> update user set password=PASSWORD('123456') where user='root';

Query OK, 0 rows affected (0.00 sec)

Rows matched: 1  Changed: 0  Warnings: 0

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)

如果远程连接,提示:1045 access denied for user root ‘ip地址’    (using password: YES)

是因为Centos 7 防火墙没有开启3306端口

防火墙开放3306端口

1、打开防火墙配置文件

vi  /etc/sysconfig/iptables

2、增加下面一行

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

3、重启防火墙

service  iptables restart

注意:增加的开放3306端口的语句一定要在icmp-host-prohibited之前

附:个人配置

# Firewall configuration written by system-config-firewall

# Manual customization of this file is not recommended.

*filter

:INPUT ACCEPT [0:0]

:FORWARD ACCEPT [0:0]

:OUTPUT ACCEPT [0:0]

-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

-A INPUT -p icmp -j ACCEPT

-A INPUT -i lo -j ACCEPT

-A INPUT -i eth0 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

-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 FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

-A FORWARD -p icmp -j ACCEPT

-A FORWARD -i lo -j ACCEPT

-A FORWARD -i eth0 -j ACCEPT

-A INPUT -j REJECT --reject-with icmp-host-prohibited

-A FORWARD -j REJECT --reject-with icmp-host-prohibited

COMMIT

如果远程连接,提示:3118 access denied for user root     account is locked.

此时就需要使用ALTER USER … ACCOUNT UNLOCK语句进行解锁了:

mysql>ALTER USER '用户名'@'%' ACCOUNT UNLOCK;

Query OK, 0 rows affected (0.00 sec)

转载于:https://my.oschina.net/vshcxl/blog/826389

Centos 7 mysql 5.7 给root开启远程访问权限,修改root密码相关推荐

  1. mysql给root开启远程访问权限,修改root密码

    2019独角兽企业重金招聘Python工程师标准>>> mysql给root开启远程访问权限,修改root密码 2017年01月05日 14:36:12 服务器上修改: 忘记密码使用 ...

  2. mysql给root开启远程访问权限

    本人在阿里云买了个服务器,自带mysql,感觉不能每次都通过Xshell去操作远程服务器,想尝试通过本地的sqlyog管理工具去连接, 但是即使账号密码全正确,也会报错:error no. 1045 ...

  3. mysql远程访问权限_MYSQL开启远程访问权限的方法

    1.登陆mysql数据库 mysql -u root -p 查看user表 mysql> use mysql; Database changed mysql> select host,us ...

  4. mysql设置开启远程访问权限_MySQL如何开启远程访问权限

    MySQL如何开启远程访问权限 [日期:2012-12-18] 来源:Linux社区 作者:wujingfeng [字体:大 中 小] 一:Windows环境 1. 改表法.可能是你的帐号不允许从远程 ...

  5. linux下mysql开启远程访问权限及防火墙开放3306端口(mysql开放host访问权限)

    开启mysql的远程访问权限 默认mysql的用户是没有远程访问的权限的,因此当程序跟数据库不在同一台服务器上时,我们需要开启mysql的远程访问权限. 主流的有两种方法,改表法和授权法.相对而言,改 ...

  6. 开放防火墙的端口号mysql_linux下mysql开启远程访问权限及防火墙开放3306端口

    Linux 防火墙开放特定端口 (iptables)     iptables是linux下的防火墙,同时也是服务名称. service  iptables  status        查看防火墙状 ...

  7. Mysql 开启远程访问权限

    简介 最近在服务器上安装了 mysql 数据库,但是用自己的电脑确远程连接不到服务器上的 mysql 数据库,经过一番查阅得出,缺省状态下,mysql 数据库没有远程访问的权限.下面介绍两种方法,开启 ...

  8. mysql 创建端口号_MySQL命令行 不同端口登录 执行SQL文件 创建用户 赋予权限 修改root密码...

    0.安装MySQL服务 1.[不同端口登录] 通过开始菜单-> 程序-> MySQL-> MySQL Command Line Client 通过输入密码Enter password ...

  9. 数据库工作笔记008---mysql开启远程访问权限_ 1042 Can't get hostname for your address_Access denied for user 'root'@'

    JAVA技术交流QQ群:170933152 1. //登录数据库mysql -u root -pvmwaremysql>use mysql; //%为所有ip都可以远程访问mysql>up ...

最新文章

  1. 报错解决:InvalidArgumentError: Received a label value of 101 which is outside the valid range of [0, 101
  2. 从OpenAI看深度学习研究前沿
  3. Xamarin.Android编译CPU类型选择方式
  4. 独家 | 一文读懂Apache Kudu
  5. 数据结构与算法基础知识集锦
  6. Mybatis-Plus主要功能详解
  7. jdk8 List集合 Stream distinct() 去重代码示例
  8. C语言计算字符串的长度
  9. Linux(RadHat)基础学习—vim编辑器及文件的输入输出
  10. 第一章 信息化与信息系统习题
  11. python爬app视频_用Python爬抖音APP短视频
  12. Mybatis事务原理
  13. 1.python程序图标制作
  14. word 计算机内存不足,电脑office打不开显示内存不足怎么办
  15. 【AI SoC】全志R329 高算力低功耗,当下智能音箱的最优解?
  16. Android SDCard
  17. 2021-04-15 三级管npn和pnp的区别
  18. Angelababy现身宋雨琦直播,不和传言不攻自破
  19. BI分析工具选型:从PowerBI到FineBI的9个理由!
  20. 华为手机怎么复制门禁卡?

热门文章

  1. 如何解决”ArcGIS Server Site is currently being configured by another administrative operation“的问题
  2. $GOPATH not set 问题解决方案
  3. 几种常见的Windows 服务器无法联网/无法连接远程桌面等故障解决方案
  4. Base64编码详解及其变种(解决加号在URL变空格问题)
  5. 文本视图(UITextView)占位符Swift
  6. 错误-trustAnchors参数必须为非空
  7. php complex,PHP復雜的基於角色的訪問控制列表
  8. 面试题目_数据分析之hive sql面试题目
  9. Linux:(ubuntu)命令行下显示方框的问题
  10. 3万字《SpringBoot微服务开发——Shiro(安全)》