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 ![](https://i-blog.csdnimg.cn/direct/f7dbc480f2e44a5fa3a252bb0801eb0c.png) 6.授权/usr/local/mysql/所属为mysql ,以便启动服务有权限。 \[root@localhost local\]# chown -R mysql.mysql /usr/local/mysql/\* ![](https://i-blog.csdnimg.cn/direct/44ab67f45a074f9e8190573a7a9794dd.png) 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 ![](https://i-blog.csdnimg.cn/direct/771b4a9bbf1e4aefad5ff528656c8c46.png) ![](https://i-blog.csdnimg.cn/direct/90aaab373c7f496ea99943eac6a224de.png) 关闭后,尝试用新用户 slave登录主库,发现能登录 ![](https://i-blog.csdnimg.cn/direct/48c4ef6c97724538a6d9b067fd63e63b.png) 证明账户密码无误后,再切换root 登录mysql,再次查看同步正常,如果不正常,再停止同步和开启同步。 题外:RESET REPLICA; -- 重置同步 ![](https://i-blog.csdnimg.cn/direct/397968db3bdc459fb8bd0ec9b2bf8ed6.png) 测试结果,在主库新建数据库,从库能看到新创建的数据库。 ![](https://i-blog.csdnimg.cn/direct/184be5cb301e49ffb8138d3522ccd3db.png) mysql\> flush logs; --刷新日志, ![](https://i-blog.csdnimg.cn/direct/5c9d47a4c57147dc8003edf679c4435f.png) 题外: vim /etc/my.cnf ##### 设置Binlog文件大小和保留时间 `max_binlog_size=100M expire_logs_days=7` ##### 查看Binlog状态 `SHOW MASTER STATUS; SHOW BINARY LOGS;`

相关推荐
Johny_Zhao1 小时前
Docker + CentOS 部署 Zookeeper 集群 + Kubernetes Operator 自动化运维方案
linux·网络安全·docker·信息安全·zookeeper·kubernetes·云计算·系统运维
小毛驴8502 小时前
Linux 后台启动java jar 程序 nohup java -jar
java·linux·jar
一心0923 小时前
ubuntu 20.04.6 sudo 源码包在线升级到1.9.17p1
运维·ubuntu·sudo·漏洞升级
好好学习啊天天向上3 小时前
世上最全:ubuntu 上及天河超算上源码编译llvm遇到的坑,cmake,ninja完整过程
linux·运维·ubuntu·自动性能优化
你想考研啊3 小时前
三、jenkins使用tomcat部署项目
运维·tomcat·jenkins
tan180°4 小时前
MySQL表的操作(3)
linux·数据库·c++·vscode·后端·mysql
代码老y4 小时前
Docker:容器化技术的基石与实践指南
运维·docker·容器
典学长编程4 小时前
Linux操作系统从入门到精通!第二天(命令行)
linux·运维·chrome
wuk9985 小时前
基于MATLAB编制的锂离子电池伪二维模型
linux·windows·github
DuelCode5 小时前
Windows VMWare Centos Docker部署Springboot 应用实现文件上传返回文件http链接
java·spring boot·mysql·nginx·docker·centos·mybatis