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

database

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

一、MySql安装

1、RPM安装

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

##以后再填坑

2、Generic安装

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

 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

遇到问题:

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

以上是 0、MySql第零章,安装及集群配置 的全部内容, 来源链接: utcz.com/z/533832.html

回到顶部