mysql在windows下配置root用户远程访问
1,管理员打开CMD
2,cd到mysql的bin
代码语言:javascript复制 cd C:Program FilesMySQLMySQL Server 8.0bin
3,登录mysql
代码语言:javascript复制mysql -u root -p
4,执行sql查看当前用户
代码语言:javascript复制use mysql;
select User,authentication_string,Host from user;
5,修改root用户远程访问
代码语言:javascript复制ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; # IDENTIFIED WITH mysql_native_password:表示指定该用户使用 MySQL 原生密码验证方式。后面的123456是要设置的新密码。
代码语言:javascript复制update user set host='%' where user='root';
6,再次查看用户
代码语言:javascript复制use mysql;
select User,authentication_string,Host from user;
7,更改root权限
代码语言:javascript复制GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
8,也可以创建可远程访问的用户
代码语言:javascript复制CREATE USER 'remote_user'@'%' IDENTIFIED BY '123456';
GRANT ALL ON *.* TO 'remote_user'@'%';
9,通过GRANT命令赋权后,需要通过FLUSH PRIVILEGES刷新权限表使修改生效:
代码语言:javascript复制flush privileges;
linux下也是这个流程,注意linux系统用户要用root登录,如果提示You are not allowed to create a user with GRANT,就只能退出,在重试几次。
linux下要关闭防火墙。
代码语言:javascript复制systemctl stop firewalld
systemctl disable firewalld
然后配置mysql的配置文件,在配置文件my.cnf或者mysql.cnf里找到[mysqld]模块,如果没有就去他包含的文件里找
代码语言:javascript复制!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/
上面代码包含了两个文件夹,在mysql.conf.d/mysqld.cnf里找到了[mysqld]
然后设置/etc/mysql/mysql.conf.d/mysqld.cnf文件如下,在[mysqld]下设置
代码语言:javascript复制bind-address = 10.1.0.141
mysqlx-bind-address = 10.1.0.141
然后就可以使用我们创建的用户,或者root访问了。
PS:关闭Ubuntu防火墙的步骤如下:
代码语言:javascript复制打开终端:在Ubuntu中,按下“Ctrl Alt T”键即可打开终端。
输入以下命令以停止防火墙服务:sudo systemctl stop ufw.service。
输入以下命令以禁用防火墙服务:sudo systemctl disable ufw.service。
最后,输入以下命令以确认防火墙服务已关闭:sudo ufw status。如果终端输出“Status: inactive”,则表示防火墙已成功关闭。
ufw allow 21放行端口。
mysql开启binlog
在Linux下,你可以按照以下步骤来开启MySQL的二进制日志(binlog):
打开MySQL配置文件:
如果你使用的是MySQL 5.6或更早版本,配置文件通常位于/etc/my.cnf
。 对于MySQL 5.7及更高版本,配置文件通常位于/etc/mysql/my.cnf
或/etc/my.cnf
。使用文本编辑器(如vi、nano等)打开该文件。
在[mysqld]
部分下添加以下行来启用二进制日志:
[mysqld]
...
log-bin=mysql-bin
保存并关闭配置文件。
重启MySQL服务器以使更改生效:
代码语言:javascript复制[mysqld]
...
log-bin=mysql-bin
或
代码语言:javascript复制sudo /etc/init.d/mysql restart
接下来,你可以通过以下步骤来检查二进制日志是否成功启用:
1.连接到MySQL服务器:
代码语言:javascript复制mysql -u root -p
输入MySQL root用户的密码。 2. 执行以下命令来查看当前的二进制日志文件和位置:
代码语言:javascript复制SHOW MASTER STATUS;
如果二进制日志已成功启用,该命令将返回有关当前二进制日志文件和位置的信息。否则,将不会有任何输出或返回一个错误。 3. 检查返回的结果。如果返回了当前的二进制日志文件名和位置,则表示二进制日志已成功启用。你还可以检查返回结果中的其他信息,例如二进制日志格式(ROW或MIXED)以及二进制日志缓存大小(binlog_cache_size)。
4.(可选)为了验证二进制日志是否在记录更改,你可以创建一个测试表并插入一些数据。然后,使用SHOW BINARY LOGS;
命令查看是否有新的二进制日志文件生成。
执行以下命令查看当前的二进制日志文件路径:
代码语言:javascript复制SHOW VARIABLES LIKE 'log_bin_basename';
SHOW VARIABLES LIKE 'log_bin'
SHOW BINARY LOGS
开启成功后
binlog会存储在/var/lib/mysql中