GVKun编程网logo

设置Mysql数据库允许远程连接(设置mysql数据库允许远程连接吗)

3

此处将为大家介绍关于设置Mysql数据库允许远程连接的详细内容,并且为您解答有关设置mysql数据库允许远程连接吗的相关问题,此外,我们还将为您介绍关于CentOS8安装MySql并设置允许远程连接、

此处将为大家介绍关于设置Mysql数据库允许远程连接的详细内容,并且为您解答有关设置mysql数据库允许远程连接吗的相关问题,此外,我们还将为您介绍关于CentOS 8 安装 MySql 并设置允许远程连接、CentOS 8 安装 MySql并设置允许远程连接的方法、Centos6.5重置mysql密码并设置允许远程连接、CentOS服务器下设置MySQL允许远程连接的有用信息。

本文目录一览:

设置Mysql数据库允许远程连接(设置mysql数据库允许远程连接吗)

设置Mysql数据库允许远程连接(设置mysql数据库允许远程连接吗)

MysqL数据库用户权限设置

1.进入容器

docker exec -it MysqL_test /bin/bash

注意:由于我是通过docker安装的数据库,所以在操作之前需要进入容器,直接安装在本机的用户可以跳过这步

2.登录数据库

MysqL -u root -p

3.连接MysqL数据库

use MysqL

4. 查看用户权限

SELECT User,Host FROM user;

5.设置账户为任意ip访问

update user set host=’%’ where user=’root’;

6.刷新权限

flush privileges;

7.退出MysqL

exit

常用命令

1.添加用户

CREATE USER ‘username’@‘host’ IDENTIFIED BY ‘password’;

host:主机ip,%【任意ip】 localhost【本机】 192.168.31.22【指定ip】

2.删除用户

drop user 'XXX'@'localhost';
delete from user where user='XXX' and host='localhost';

注意:delete from user where user='XXX' and host='localhost',用delete删除用户后需要执行FLUSH PRIVILEGES;刷新权限,否则下次使用create语句创建用户时会报错。

错误

  1. OCI runtime exec Failed: exec Failed: unable to start container process: exec: "/bin/bash"
    解决办法:
    因为运行脚本的类型有多种,如下图所示:

    所以只需要找到不同容器安装的运行脚本模式就好,不过sh类型的shell是最基础的,所以大部分镜像都支持,如果出现bash 不能进入的时候,尝试一下sh便可以进入、

    docker exec -it MysqL_test /bin/sh
    

    docker exec使用小技巧:后面的/bin/或者/usr/bin/可以省略掉,直接写sh 或者 bash。
    详细操作见这位大佬的博客

2.OCI runtime exec Failed: exec Failed: unable to start container process: open /dev/pts/0: operation not permitted: unkNown

解决办法:出现这样的原因我也没弄明白,有可能是因为我更新了容器的开启启动设置没有重新启动容器导致的,所以值需要将容器重启即可。

CentOS 8 安装 MySql 并设置允许远程连接

CentOS 8 安装 MySql 并设置允许远程连接

下载,安装

先检查系统中是否有 mysql , MariaDB, 如有,先卸载

rpm -qa | grep mysqlrpm -qa | grep mariadb

如图,我的系统中存在 mariaDB 数据, 

 执行卸载 如有 mysql 同理 卸载方法相同

remove mariadb-libs-5.5.52-1.el7.x86_64

安装依赖环境 ,我们直接使用 yum 安装,依次执行

yum install -y perl.x86_64
yum install -y libaio.x86_64
yum install -y net-tools.x86_64
yum install -y libtinfo*
yum install -y libncurses*

下载国内的 MySQL 安装包(之所以用国内的是因为下载比较快,下面用的是清华大学的镜像资源)

wget -P /tmp >wget -P /tmp >wget -P /tmp >5.7/mysql-community-client-5.7.31-1.el7.x86_64.rpm
wget -P /tmp -ivh mysql-community-common-5.7.31-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.31-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.31-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.31-1.el7.x86_64.rpm

重启下 mysql 服务

systemctl restart mysqld.service

查看 mysql 服务状态

systemctl status mysqld.service

CentOS 8 安装 MySql并设置允许远程连接的方法

CentOS 8 安装 MySql并设置允许远程连接的方法

下载,安装先检查系统中是否有mysql ,MariaDB,如有,先卸载

rpm -qa | grep mysql
rpm -qa | grep mariadb

如图,我的系统中存在mariaDB数据,

执行卸载如有mysql同理卸载方法相同

remove mariadb-libs-5.5.52-1.el7.x86_64

安装依赖环境 ,我们直接使用yum安装,依次执行

yum install -y perl.x86_64
yum install -y libaio.x86_64
yum install -y net-tools.x86_64
yum install -y libtinfo*
yum install -y libncurses*

下载国内的MySQL安装包(之所以用国内的是因为下载比较快,下面用的是清华大学的镜像资源)

wget -P /tmp http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-5.7/mysql-community-common-5.7.31-1.el7.x86_64.rpm
wget -P /tmp http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-5.7/mysql-community-libs-5.7.31-1.el7.x86_64.rpm
wget -P /tmp http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-5.7/mysql-community-client-5.7.31-1.el7.x86_64.rpm
wget -P /tmp http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-5.7/mysql-community-server-5.7.31-1.el7.x86_64.rpm

然后按照顺序安装mysql的依赖,依次执行

rpm -ivh mysql-community-common-5.7.31-1.el7.x86_64.rpm 
rpm -ivh mysql-community-libs-5.7.31-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.31-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.31-1.el7.x86_64.rpm

重启下mysql服务

systemctl restart mysqld.service

查看mysql服务状态

systemctl status mysqld.service

查看下默认的临时密码,我的密码是: >dgp,9q&?ikW

grep ''temporary password'' /var/log/mysqld.log

测试登录

mysql -u root -p

然后输入密码,登录成功,

修改密码并开启远程连接

由于新版本的mysql升级了密码安全策略,如果一直使用默认密码,

很多功能都限制,包括修改安全策略,开启远程连接等功能;

所以还是要先修改密码,密码要求有大小写字母,数字,特殊字符的组合;先登录

mysql -u root -p

然后修改密码

ALTER USER ''root''@''localhost'' IDENTIFIED BY ''~1QAZxsw2''

修改允许远程连接

use mysql;
update user set Host = ''%'' where Host = ''localhost'' and User=''root'';
flush privileges;

开放3306端口开启3306 端口

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

重启防火墙

firewall-cmd --reload

查看防火墙状态 显示success 即成功开启

systemctl status firewalld

查看指定端口状态 显示 success 即端口成功开启

firewall-cmd --query-port=6379/tcp

之后使用数据库连接工具即可连接成功;

到此这篇关于CentOS 8 安装 MySql并设置允许远程连接的文章就介绍到这了,更多相关CentOS 8 设置MySql允许远程连接内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

您可能感兴趣的文章:
  • Ubuntu 18.04配置mysql以及配置远程连接的步骤
  • MySQL8.0开启远程连接权限的方法步骤

Centos6.5重置mysql密码并设置允许远程连接

Centos6.5重置mysql密码并设置允许远程连接

root密码忘记,重置MysqL的root密码:

一、修改MysqL的配置文件my.cnf

1.在[MysqLd]的段中加上一句:skip-grant-tables

[MysqLd]
datadir=/var/lib/MysqL
socket=/var/lib/MysqL/MysqL.sock
skip-name-resolve
skip-grant-tables
保存并且退出vi。

(或执行 MysqLd_safe --skip-grant-tables &)

2.重新启动MysqLd
# /etc/init.d/MysqLd restart
Stopping MysqL: [ OK ]
Starting MysqL: [ OK ]


3.登录并修改MysqL的root密码
# /usr/bin/MysqL
Welcome to the MysqL monitor. Commands end with ; or \g.
Your MysqL connection id is 3 to server version: 3.23.56
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

MysqL> use MysqL ;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
MysqL> UPDATE user SET Password = password ( 'new-password' ) WHERE User = 'root' ;
Query OK,0 rows affected (0.00 sec)
Rows matched: 2 Changed: 0 Warnings: 0

MysqL> flush privileges ;
Query OK,0 rows affected (0.01 sec)

MysqL> quit
Bye
4.将MysqL的登录设置修改回来
# vi /etc/my.cnf
将刚才在[MysqLd]的段中加上的skip-grant-tables删除
保存并且退出vi。

5.重新启动MysqLd
# /etc/init.d/MysqLd restart
Stopping MysqL: [ OK ]
Starting MysqL: [ OK ]


二、

停止MysqL服务

/etc/init.d/MysqLd stop

sudo MysqLd_safe --skip-grant-table&

MysqL

use MysqL;

update user set password = password('yourpasswd') where user = 'root';

flush privileges;

重启下MysqL服务即可重新用新密码登录

/etc/init.d/MysqLd restart


允许远程连接MysqL

通过navicat连接MysqL的时候发生的这个错误
ERROR 1130: Host ***.***.***.*** is not allowed to connect to this MysqL server
说明所连接的用户帐号没有远程连接的权限,只能在本机(localhost)登录。
需更改 MysqL 数据库里的 user表里的 host项
把localhost改称%

一、

登陆到MysqL ,首先 use MysqL;
按照别人提供的方式update的时候,出现错误。
MysqL> update user set host='%' where user = 'root';
ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY'
然后查看了下数据库的host信息如下:
MysqL> select host from user where user = 'root';
+-----------------------+
| host |
+-----------------------+
| % |
| 127.0.0.1 |
| localhost.localdomain |
+-----------------------+
3 rows in set (0.00 sec)
host已经有了%这个值,所以直接运行命令:

MysqL>flush privileges;


二、

MysqL> grant all privileges on *.* to 'root'@'%' withgrant option;

Query OK,0 rows affected (0.02 sec)


MysqL> flush privileges;

Query OK,0 rows affected (0.00 sec)


MysqL> selectuser.host from user;

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

| user| host|

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

| root| %|

| root| 127.0.0.1|

| repl_user | 192.168.1.52 |

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

3 rows in set (0.00 sec)

允许指定IP访问MysqL

MysqL> grant all privileges on *.* to'root'@***.***.***.****identifiedby '123456';
QueryOK,0 rows affected (0.00 sec)

CentOS服务器下设置MySQL允许远程连接

CentOS服务器下设置MySQL允许远程连接

1. MysqL> use MysqL;


关于设置Mysql数据库允许远程连接设置mysql数据库允许远程连接吗的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于CentOS 8 安装 MySql 并设置允许远程连接、CentOS 8 安装 MySql并设置允许远程连接的方法、Centos6.5重置mysql密码并设置允许远程连接、CentOS服务器下设置MySQL允许远程连接等相关内容,可以在本站寻找。

本文标签: