当前位置: 首页> 教育> 幼教 > LinuxMysql

LinuxMysql

时间:2025/7/12 20:29:56来源:https://blog.csdn.net/qq_54802811/article/details/142028619 浏览次数:0次

安装自动mysql
    更新包列表
        sudo apt update
    安装 MySQL Server
        sudo apt install mysql-server
    启动 MySQL 服务
        sudo systemctl start mysql
    设置 MySQL 服务开机自启
        sudo systemctl enable mysql
    运行安全配置脚本
        sudo mysql_secure_installation
        按提示进行设置:
        输入当前的 root 密码(如果有的话)。
        设置新的 root 密码。
        删除匿名用户。
        禁用 root 远程登录。
        删除测试数据库。
        重新加载权限表。
    登录 MySQL
        sudo mysql -u root -p

准备两台虚拟机,需要提前安装好MySQL数据库

主从库IP地址
主库192.168.19.43
从库192.168.19.44

修改主库服务器的MySQL核心配置文件/etc/mysql/mysql.conf.d/mysqld.cnf,并添加如下配置信息:

[mysqld]
...
# 开启二进制日志(必须)
log-bin = mysql-bin
# MySQL服务ID,保证整个集群环境中唯一,默认为1(必须)
server-id = 1
# 二进制日志格式,默认ROW(可选)
binlog_format = ROW
# 忽略的数据,不需要同步的数据库
# binlog-ignore-db = db1
# binlog-ignore-db = db2
# 指定同步的数据库
# binlog-do-db = db3

 重启MySQL服务器。

systemctl restart mysql

# 创建zking用户,并设置密码,该用户可在任意主机连接该MySQL服务
create user 'zking'@'%' identified with mysql_native_password by 'zking1234';
# 为'zking'@'%'用户分配主从复制权限
grant replication slave on *.* to 'zking'@'%';

 登录MySQL数据库,创建远程连接的账号,并授予主从复制权限。

# 创建zking用户,并设置密码,该用户可在任意主机连接该MySQL服务
create user 'zking'@'%' identified with mysql_native_password by 'zking1234';
# 为'zking'@'%'用户分配主从复制权限
grant replication slave on *.* to 'zking'@'%';

 通过指令,查看二进制日志坐标

show master status;

 

从库配置

修改从库服务器的MySQL核心配置文件/etc/mysql/mysql.conf.d/mysqld.cnf,并添加如下配置信息:

[mysqld]
...
# 开启二进制日志(必须)
log-bin = mysql-bin
# MySQL服务ID,保证整个集群环境中唯一,默认为1(必须)
server-id = 2
# 二进制日志格式,默认ROW(可选)
binlog_format = ROW
# 是否只读,1代表只读,0代表读写
read-only = 1

 重启MySQL服务器。

 systemctl restart mysql

 

3)登录`MySQL`数据库,设置主库配置。

- `MySQL8.0.23`之前的版本,执行如下`SQL`语句:

change master to master_host='xxx.xxx.xxx.xxx',master_user='xxx',master_password='xxx',master_log_file='xxx',master_log_pos=xxx;

change master to master_host='192.168.19.43',master_user='root',master_password='sasa',master_log_file='mysql-bin.000001',master_log_pos=154;

 

  • MySQL8.0.23之后的版本,执行如下SQL语句:

change replication source to source_host='192.168.100.128',source_user='root',source_password='MyP@ssw0rd',source_log_file='mysql_bin.000027',source_log_pos=158; 

开启同步操作

 # 8.0.22之后
start replica; 
# 8.0.22之前
start slave;

 查看主从同步状态

# 8.0.22之后
show replica status; 
# 8.0.22之前
show slave status;

 修改/var/lib/mysql/auto.cnf文件。将server-uuid属性修改为唯一值即可。

 [auto]
server-uuid = 任意uuid

修改完毕保存并退出,最后重启MySQL服务后,并再次登录MySQL查看主从复制是否成功。

 

 故障解决

mysql> stop slave;
 mysql> set global sql_slave_skip_counter=1; #指定跳过事务个数
 mysql> start slave;

关键字:LinuxMysql

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: