linux下mysql配置用户远程访问和开启binlog

2024-02-29 09:09:00 浏览数 (1)

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]部分下添加以下行来启用二进制日志:

代码语言:javascript复制
[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中

0 人点赞