当前位置: 首页 > news >正文

Linux rocky 9.2 安装mysql-8.0.39-linux-glibc2.28-x86_64.tar.xz

数据库官方下载:MySQL :: Download MySQL Community Server

本文也绑定该资源包,免费提供下载学习。

1.系统版本

2.新建目录,存放数据库安装包,并且上传

需要用到的工具:yum -y install vim lrzsz tar

上传解压:tar -xvf mysql-8.0.39-linux-glibc2.28-x86_64.tar.xz

3.修改目录名字

mv mysql-8.0.39-linux-glibc2.28-x86_64  /usr/local/mysql

4.新建mysql 用户,用于启动mysql

groupadd mysql
 
useradd -r -g mysql mysql

5.新建mysql所需目录

[root@localhost local]# mkdir -pv /usr/local/mysql/{data,log}
mkdir: created directory '/usr/local/mysql/data'
mkdir: created directory '/usr/local/mysql/log'
[root@localhost local]# touch  /usr/local/mysql/log/error.log

6.授权/usr/local/mysql/所属为mysql ,以便启动服务有权限。

[root@localhost local]# chown -R mysql.mysql /usr/local/mysql/*

7.新建vim /etc/my.cnf

[root@localhost bin]# cat /etc/my.cnf 
[mysqld]
user=mysql
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
server_id=1
port=3306
socket=/tmp/mysql.sock
symbolic-links=0
 
lower_case_table_names=1
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
 
[mysql]
socket=/tmp/mysql.sock
 
[mysqld_safe]
log-error=/usr/local/mysql/log/error.log
pid-file=/usr/local/mysql/mysql.pid
 
[client]
port=3306
socket=/tmp/mysql.sock


8.配置systemctl 管理mysql 数据库服务

vim /etc/systemd/system/mysqld.service

[Unit]
Description=Mysql
After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
#PIDFile=/usr/local/mysql/mysql8420/data/localhost.localdomain.pid
ExecStart=/usr/local/mysql/support-files/mysql.server start
#ExecReload=/bin/kill -s HUP $MAINPID
ExecReload=/usr/local/mysql/support-files/mysql.server restart
#ExecStop=/bin/kill -s QUIT $MAINPID
ExecStop=/usr/local/mysql/support-files/mysql.server stop
PrivateTmp=false

User=mysql
Group=mysql

[Install]

9.配置环境变量

vim /etc/profile
在最后一行添加,mysql所在的bin 目录

export PATH=/usr/local/mysql/bin:$PATH

刷新环境变量

source /etc/profile

10.初始化数据库

./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

初始化成功,数据库密码默认: root@localhost: IKK,BNIaF6js

11.启动数据库

12.要修改数据库密码,才能使用该数据库,不然报错

ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

修改数据库密码

登录数据库,修改数据库密码:ALTER USER ‘username’@‘localhost’ IDENTIFIED BY ‘new_password’;

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '12345@Admin';
Query OK, 0 rows affected (0.01 sec)

配置主从同步

13.按照上一步骤,再新建一台数据库服务器

a.  主机名 master103    ip:192.168.0.103   主数据库

b.  主机名 slave106       ip:192.168.0.106    从数据库

14.修改vim /etc/my.cnf

server_id    取值范围1至2的32次方减一,只要集群唯一值即可

log-bin=master-mysql_bin

修改两台的my.cnf,需要重启数据库服务

systemctl restart mysqld && systemctl status  mysqld

15.在主数据库中新建一个用户,用于从数据库同步主数据库。

-- 创建用户 slave
CREATE USER 'slave'@'%' IDENTIFIED BY '12345678';
-- 授权
GRANT REPLICATION SLAVE ON *.* TO 'slave'@'%';
-- 刷新权限
FLUSH PRIVILEGES;

查询主库bin-log日志文件和position端口

mysql> show master status;

从库直接执行(方法一)

CHANGE REPLICATION SOURCE TO
     SOURCE_HOST='192.168.0.103',
     SOURCE_PORT=3306,
     SOURCE_USER='slave',
     SOURCE_PASSWORD='12345678',
     SOURCE_LOG_FILE='master-mysql-bin.000001',
     SOURCE_LOG_POS=1635;

(方法二)

change master to master_host='192.168.0.103',master_user='slave',master_password='12345@Admin',master_log_file='masert-mysql_bin.000006',master_log_pos=157;

停止同步

mysql> stop slave;

开启同步

mysql> start  slave;
查看同步状态

 SHOW REPLICA STATUS\G;

报错内容

 Last_IO_Error: Error connecting to source 'slave@192.168.0.103:3306'. This was attempt 2/86400, with a delay of 60 seconds between attempts. Message: Can't connect to MySQL server on '192.168.0.103:3306' (113)

这边尝试用新建的用户在从库远程登录到主库,看看用户密码权限三个是否正确,在登录过程,提醒新的报错

猜测应该是8版本以上,数据库用户必须用复杂性密码,就不会报这个错

报错内容

[root@slave106 bin]# mysql  -uslave  -p'12345678' -h 192.168.0.103
mysql: [Warning] Using a password on the command line interface can be insecure.
ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.0.103:3306' (113)


解决办法:关闭两台数据库服务器的防火墙和selinux

关闭后,尝试用新用户 slave登录主库,发现能登录

证明账户密码无误后,再切换root 登录mysql,再次查看同步正常,如果不正常,再停止同步和开启同步。

题外:RESET REPLICA;   --  重置同步

测试结果,在主库新建数据库,从库能看到新创建的数据库。

mysql> flush logs;    --刷新日志,

题外:

vim /etc/my.cnf

设置Binlog文件大小和保留时间

max_binlog_size=100M expire_logs_days=7

 查看Binlog状态

SHOW MASTER STATUS; SHOW BINARY LOGS;

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 引领未来的NVR方案:海思3520D芯片与全套NVR模组源代码解析
  • 搭建springboot项目,并解决项目出现红色J问题
  • 网络之DHCP实验
  • simulink 回放can数据,离线仿真,用来验证算法,应该怎么回读mat格式文件(重要)
  • 拍立淘API在商品搜索中的应用实践案例
  • 教程:postman的平替hoppscotch,又叫postwoman,hoppscotch的docker-compose安装过程
  • linux定期统计某个目录内每天的文件增量大小
  • 虚幻引擎游戏开发 | 程序化生成道具位置 Randomize Height
  • G1处理器GC调优常用参数详解
  • 设计模式24-命令模式
  • 【Qt从摄像头视频中获取数据】
  • 深入解析fs.ReadStream:Node.js中的文件读取流利器
  • 基于数据复杂度的数据库选型
  • 【django必备知识点】
  • Python爬虫案例二:获取虎牙主播图片(动态网站)
  • “寒冬”下的金三银四跳槽季来了,帮你客观分析一下局面
  • 【刷算法】求1+2+3+...+n
  • 2019年如何成为全栈工程师?
  • Angular数据绑定机制
  • JS学习笔记——闭包
  • LeetCode算法系列_0891_子序列宽度之和
  • Netty源码解析1-Buffer
  • Puppeteer:浏览器控制器
  • PyCharm搭建GO开发环境(GO语言学习第1课)
  • 创建一个Struts2项目maven 方式
  • 从0实现一个tiny react(三)生命周期
  • 简单易用的leetcode开发测试工具(npm)
  • 将回调地狱按在地上摩擦的Promise
  • 聊一聊前端的监控
  • 转载:[译] 内容加速黑科技趣谈
  • Python 之网络式编程
  • TPG领衔财团投资轻奢珠宝品牌APM Monaco
  • 浅谈sql中的in与not in,exists与not exists的区别
  • ​LeetCode解法汇总1276. 不浪费原料的汉堡制作方案
  • !!java web学习笔记(一到五)
  • #565. 查找之大编号
  • (3)Dubbo启动时qos-server can not bind localhost22222错误解决
  • (Redis使用系列) Springboot 整合Redisson 实现分布式锁 七
  • (超简单)使用vuepress搭建自己的博客并部署到github pages上
  • (代码示例)使用setTimeout来延迟加载JS脚本文件
  • (亲测有效)解决windows11无法使用1500000波特率的问题
  • (数位dp) 算法竞赛入门到进阶 书本题集
  • (一)u-boot-nand.bin的下载
  • (一)项目实践-利用Appdesigner制作目标跟踪仿真软件
  • (已解决)什么是vue导航守卫
  • (转) RFS+AutoItLibrary测试web对话框
  • **CI中自动类加载的用法总结
  • . ./ bash dash source 这五种执行shell脚本方式 区别
  • .NET LINQ 通常分 Syntax Query 和Syntax Method
  • .net on S60 ---- Net60 1.1发布 支持VS2008以及新的特性
  • .NET 常见的偏门问题
  • .net 调用php,php 调用.net com组件 --
  • .net 桌面开发 运行一阵子就自动关闭_聊城旋转门家用价格大约是多少,全自动旋转门,期待合作...
  • .NET企业级应用架构设计系列之开场白
  • @SpringBootConfiguration重复加载报错