0、MySql第零章,安装及集群配置

0、MySql第零章,安装及集群配置MySql第零章,安装及集群配置 一、MySql安装 1、RPM安装 RPM安装,无法自定义一些安装路径和配置文件路径 ##以后再填坑 2、Generic安装 二进制 预编译 Generic,下载地…

0、MySql第零章,安装及集群配置

MySql第零章,安装及集群配置

一、MySql安装

1、RPM安装

RPM安装,无法自定义一些安装路径和配置文件路径

##以后再填坑

代码100分

2、Generic安装

二进制 预编译 Generic,下载地址:

代码100分 https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.29-linux-glibc2.12-x86_64.tar.gz
[root@mysq|1 ~ ]# groupadd mysql
[root@mysql1 ~ ]# useradd -r -g mysql -s /bin/false mysql
[root@mysql1 ~ ]# cd /usr/local
[root@mysq|1 local]# tar -zxvf /opt/software/file/mysql-5.7.29-linux-glibc2.12-x86_64.tar.gz
[root@mysq|1 local]# ln -s mysql-5.7.29-linux-glibc2.12-x86_64 mysql  #超链接


1、mysql初始化
没有编译安装的过程
[root@mysq|1 local]# cd mysql
[root@mysql1 mysq|]# mkdir mysql-files
[root@mysql1 mysq|]# chmod 750 mysql-files
[ root@mysql1 mysql ]# chown -R mysql .
[root@mysql1 mysql]# chgrp -R mysql .
[root@mysql1 mysq|]# bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data  ##初始化目录,注意这里会产生一个  mysql password  要记住
[root@mysq|1 mysq|]# bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data  ##公钥私钥
[root@mysql1 mysq|]# chown -R root .
[root@mysql1 mysq|]# chown -R mysql data mysql-files


2、创建配置文件
[root@mysql1 mysq|]# cp -rf support-files/my-default.cnf /etc/my.cnf  
##如果没有my-default.cnf文件的话,直接在/etc下创建my.cnf文件
##填写内容如下:
##[mysqld]
##basedir=/usr/local/mysql
##datadir=/usr/local/mysql/data


3、将mysql命令存入path
[root@mysq|2 mysq|]# /usr/local/mysql/bin/mysql  ##命令不管用
[root@mysql1 mysq|]# echo "export PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
[root@mysq|1 mysq|]# source /etc/profile   ##echo $PATH查看是否添加进去

4、启动mysql
方法一:使用mysqld_safe
[root@mysql1 mysq|]# bin/mysqld_safe --user=mysql &
方法二:使用mysql.service脚本启动[一般使用这个]
[root@mysq|1 mysql]# cp support-files/mysql.server /etc/init.d/mysqld
[root@mysq|1 mysq|]# chmod a+x /etc/init.d/mysqld
[root@mysq|1 mysq|]# chkconfig --add mysqld
[root@mysq|l1 mysq|]# chkconfig mysqld on ##设置开机启动
[root@mysq|1 mysq|]# service mysqld start ##启动mysql

##service mysqld start 			##启动mysql
##service mysqld stop			##关闭mysql
##service mysqld restart		##重启mysql
##service mysqld status			##查看mysql状态




5、初始化修改密码
[root@mysql1 mysq|]# mysql -uroot -p  ##密码为空
##如果登录不进去
##vi /etc/mysql.cnf
##添加
##skip-grant-tables
##重启mysql

[root@mysql1 mysq|]# use mysql
[root@mysql1 mysq|]# UPDATE user SET authentication_string=PASSWORD("admin123") where USER="root";  ##修改密码
或者
alter user root@"localhost" identified by "admin123";
[root@mysql1 mysq|]# FLUSH PRIVILEGES; ##刷新权限

6、远程访问权限
[root@mysql1 mysq|]# 重启mysql,用新密码登录后
[root@mysql1 mysq|]# grant all privileges on *.* to "root"@"% "identified by "admin123" with  grant option; ##远程访问mysql
[root@mysql1 mysq|]# FLUSH PRIVILEGES; ##刷新权限



7、如果需要重新初始化mysql
[root@mysql1 ~]# killall mysqld  
[root@mysql1 ~]# rm -rf /usr/local/mysql/data
[root@mysql1 mysql]# chown -R mysq| .
[root@mysql1 mysql]# chgrp -R mysql .
[root@mysql1 mysq|]# bin/mysqld -initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
[root@mysql1 mysq|]# bin/mysql_ssl_rsa_setup
[ root@mysql1 mysql ]# chown -R root .
[root@mysql1 mysql ]# chown -R mysql data mysql-files

遇到问题:

代码100分1、
bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
解决方法:
yum install -y libaio  //安装后在初始化就OK了
或者
yum install -y libaio.so.1

2、killall    no such file or directory
##没有命令的话 
yum -y install killall 
或 
yum providers killall查看哪有killall的包,再 yum install 包

3、Source Code安装

源码包安装 Source Code

##以后再填坑

二、Mysql主从复制

原理:

MySQL复制过程分成三步:

1 master将改变记录到二进制日志(binary log) 。这些记录过程叫做二 进制日志事件,binary log events

2 slave将master的binary log events拷贝到它的中继日志(relay log)

3 slave重做中继日志中的事件,将改变应用到自己的数据库中。MySQL复制是异步的且串行化的

1、单主单从

1.1、master设置

修改添加 /etc/my.cnf

[mysqld]
##主服务器唯一ID[必须]
server-id=1
##启用二进制日志binary log[主从必须]   
##chown mysql.mysql /usr/local/mysql赋予权限
log-bin=mysql-bin    
##根目录
basedir=/usr/local/mysql
##临时目录
tmpdir=/usr/local/mysql
##数据目录
datadir=/usr/local/mysql/data
##主机读写都可以:0
read-only=0
##设置不需要复制的数据库  mysql是出厂的默认库
binlog-ignore-db=mysql
##设置需要复制的数据库
binlog-do-db=需要复制的主数据库名字

master建立账户并授权复制权限给slave

##语法:GRANT REPLICATION SLAVE ON *.* TO "账号"@"从机IP" IDENTIFIED BY "admin123";

##授权
GRANT REPLICATION SLAVE ON *.* TO "ren"@"192.168.0.107" IDENTIFIED BY "admin123";

##刷新权限
flush privileges;

##查看主机状态 file要复制的二进制文件 position从哪开始复制
show master status;

1.2、slave设置

修改 /etc/my.cnf

[mysqld]
##主服务器唯一ID[必须]
server-id=2
##启用二进制日志binary log[主从必须]
##chown mysql.mysql /usr/local/mysql赋予权
log-bin=mysql-bin
##根目录
basedir=/usr/local/mysql
##临时目录
tmpdir=/usr/local/mysql
##数据目录
datadir=/usr/local/mysql/data

slave从机上配置需要复制的主机

##语法 
##  CHANGE MASTER TO MASTER_HOST="主机IP",MASTER_USER="ren",MASTER_PASSWORD="admin123",
##  MASTER_LOG_FILE="file的名字",MASTER_LOG_POS=position数字;

##配置
CHANGE MASTER TO MASTER_HOST="192.168.0.111",
MASTER_USER="ren",MASTER_PASSWORD="admin123",
MASTER_LOG_FILE="mysql-bin.000001",
MASTER_LOG_POS=341;

##启动从服务器复制功能
start slave;


##检测--下面两个参数都是YES,则说明主从配置成功
show slave statusG

##Slave_IO_Running : YES
##Slave_SQL_Running:YES


##############停止主从复制功能#################
stop slave

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/8253.html

(0)
上一篇 2023-03-04 17:30
下一篇 2023-03-04

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注