centos7 mysql集群(三台服务器)

centos安装mysql

1、检查系统中是否已安装 MySQL。

rpm -qa | grep mysql

在新版本的CentOS7中,默认的数据库已更新为了Mariadb,而非 MySQL,所以执行 yum install mysql 命令只是更新Mariadb数据库,并不会安装 MySQL

2、查看已安装的 Mariadb 数据库版本。

rpm -qa|grep -i mariadb

3、卸载已安装的 Mariadb 数据库

rpm -qa|grep mariadb|xargs rpm -e --nodeps

4、再次查看已安装的 Mariadb 数据库版本,确认是否卸载完成。

rpm -qa|grep -i mariadb

5、下载安装包文件。

wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm

weget不能用

vim /etc/resolv.conf
nameserver 8.8.8.8 #googleDNS
nameserver 8.8.4.4 #googleDNS

6、安装mysql-community-release-el7-5.noarch.rpm包

rpm -ivh mysql-community-release-el7-5.noarch.rpm

安装完成之后,会在 /etc/yum.repos.d/ 目录下新增 mysql-community.repo 、mysql-community-source.repo 两个 yum 源文件。

执行 yum repolist all | grep mysql 命令查看可用的 mysql 安装文件。

7、安装mysql。

yum install mysql-server

8、检查mysql是否安装成功。

rpm -qa | grep mysql

9、启动 mysql 服务 。

systemctl start mysqld.service #启动 mysql
systemctl restart mysqld.service #重启 mysql
systemctl stop mysqld.service #停止 mysql
systemctl enable mysqld.service #设置 mysql 开机启动

mysql常用文件路径

/etc/my.cnf   这是mysql的主配置文件

/var/lib/mysql   mysql数据库的数据库文件存放位置

/var/logs/mysqld.log  数据库的日志输出存放位置

10、设置密码

mysql5.6 安装完成后,它的 root 用户的密码默认是空的,我们需要及时用 mysql 的 root 用户登录(第一次直接回车,不用输入密码),并修改密码。

# mysql -u root
mysql> use mysql;
mysql> update user set password=PASSWORD("这里输入root用户密码") where User='root';
mysql> flush privileges;

11、设置远程主机登录

mysql> GRANT ALL PRIVILEGES ON *.* TO 'your username'@'%' IDENTIFIED BY 'your password';

执行以下命令,为root 用户添加远程登录的能力。

mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "123456";

mysql集群

1、主节点服务器配置

1.进入配置页面命令

vim /etc/my.cnf

2.配置服务器id server_id

这里的server_id 尽量配置为服务器地址的后3位 以用来区分

server_id=163

3.开启日志文件(binLog)

配置文件的地址应该在 : # Recommended in standard MySQL setup,否则配置不起作用

log-bin=mysql-bin 

4.重启mysql服务

service mysqld restart

5.验证是否已经配置成功

show variables like '%server_id%';

能够查询对应配置文件中的server_id 说明已经配置成功,如下图,则表示配置成功。

image-20200629092813881

2、从服务器节点配置同上

3、主服务器授权从服务器

grant replication slave on *.* to root@'192.168.75.164' identified by 'root';

4、查看数据库二进制文件的名字和大小

mysql> show master status;
+------------------+----------+--------------+------------------+-------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000001 |      331 |              |                  |                   |
+------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)

5、在从服务器上接受授权

mysql> change master to master_user='root',master_password='root',master_host='192.168.75.163',master_log_file='mysql-bin.000001',master_log_pos=331;
Query OK, 0 rows affected, 2 warnings (0.02 sec)

6、在从服务器上查看生成的master.info文件

[root@iz8au05vh2ol24od10bh9bz mysql]# cd /var/lib/msyql
[root@iz8au05vh2ol24od10bh9bz mysql]# ls
auto.cnf  ib_logfile0  master.info  mysql-bin.000001  mysql-bin.000003  mysqld-relay-bin.000001  mysql.sock          relay-log.info
ibdata1   ib_logfile1  mysql        mysql-bin.000002  mysql-bin.index   mysqld-relay-bin.index   performance_schema
[root@iz8au05vh2ol24od10bh9bz mysql]#cat master.info 
23
mysql-bin.000001
331
192.168.75.163
root
root
3306
60
0

0
1800.000

0

86400


0

7、开启从服务器

登陆从服务器mysql,start slave,并查看是否成功

Slave_IO_Running: Yes
Slave_SQL_Running: Yes

两个都为Yes,即为成功;

mysql> start slave; #开启从服务器
Query OK, 0 rows affected (0.01 sec)
mysql> show slave status\G; #查看从服务器内容
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 192.168.75.163
                  Master_User: root
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000001
          Read_Master_Log_Pos: 331
               Relay_Log_File: mysqld-relay-bin.000002
                Relay_Log_Pos: 283
        Relay_Master_Log_File: mysql-bin.000001
             Slave_IO_Running: Yes   #主服务器向从服务器传递文件能成功
            Slave_SQL_Running: Yes   #从服务器解析传过来的mysql-bin文件中的语法能成功
              Replicate_Do_DB: 

mysql卸载

1、查看mysql安装

[root@iz8au05vh2ol24od10bh9cz mysql]# rpm -qa|grep -i mysql
mysql-community-client-5.6.48-2.el7.x86_64
mysql-community-server-5.6.48-2.el7.x86_64
mysql-community-release-el7-5.noarch
mysql-community-libs-5.6.48-2.el7.x86_64
mysql-community-common-5.6.48-2.el7.x86_64

2.卸载前关闭mysql服务

rpm -ev --nodeps mysql-community-client-5.6.48-2.el7.x86_64
rpm -ev --nodeps mysql-community-server-5.6.48-2.el7.x86_64
rpm -ev --nodeps mysql-community-release-el7-5.noarch
rpm -ev --nodeps mysql-community-libs-5.6.48-2.el7.x86_64
rpm -ev --nodeps mysql-community-common-5.6.48-2.el7.x86_64

执行完命令之后再次执行 rpm-qa|grep -i mysql 会发现已经卸载完成。

[root@iz8au05vh2ol24od10bh9cz mysql]# rpm -qa|grep -i mysql
[root@iz8au05vh2ol24od10bh9cz mysql]# 

mysql设置不区分大小写

vi /etc/my.cnf

在[mysqld]后面添加

[mysqld]
lower_case_table_names=1 # 不区分大小写

mysql设置允许创建函数

有主从复制的机器必须设置

[mysqld]
lower_case_table_names=1 # 不区分大小写
log-bin-trust-function-creators=1 # 允许创建函数

mysql设置连接数

[mysqld]
lower_case_table_names=1 # 不区分大小写
log-bin-trust-function-creators=1 # 允许创建函数
max_connections=1000 #最大连接数
wait_timeout=500 #超时时间

mysql更改存储路径-windows

1、在mysql安装完成后,要修改数据库存储的位置,比如从bai安装目录下的E:\Program Files (x86)\MySQL\data文件夹转移du到D:\mydata文件夹。
2、在D:\下新建zhimydata文件夹
3、cmd进入dos窗口,输入net stop mysql停止MySQL服务,将C:\ProgramData\MySQL\MySQL Server 5.5\data(其中ProgramData为隐藏文件夹)下的文件夹和文件一起拷贝到D:\mydata文件夹下
4、在安dao装目录下找到my.ini文件,找到:
#Path to the database root
datadir=“C:/ProgramData/MySQL/MySQL Server 5.5/Data/”
将datadir的值更改为datadir=“D:/mydata/”
5、保存后,cmd进入dos窗口,输入net start mysql重新启动mySQL服务即可。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值