全新电脑上装ubuntu 18.04 server 并装keepalived及mysql 主从及主主配置

安装ubuntu 18.04 server版本步骤说明

1.从ubuntu 官网下载镜像,我下载的是ubuntu-18.04.2-live-server-amd64.iso

2.用ultraiso做U盘启动盘,注意选取类型为raw,如果选择为usb+hdd在电脑上是无效的。

3.安装ubuntu server,可参考(

Ubuntu 18.04 Server 版安装过程图文详解

来自 <https://blog.csdn.net/zhengchaooo/article/details/80145744> ),此网页有9个步骤,但我们实际有12个步骤

4.安装过程中,我们选择要装openssh,以方便后续远程ssh连接

创建的用户名为 ****密码为 ****之后包括root用户的密码都是 ****

5.如果要远程root账号登陆,要设置下openssh,类似如下:

 

 

 

 

 

 

 

安装keepalived:

1.整体参考 https://my.oschina.net/u/2306127/blog/2988037

2.apt install keepalived

3.vim  /etc/keepalived/keepalived.conf

全部内容如下:

! Configuration File for keepalived

 

global_defs {

 

}

 

 

vrrp_instance VI_1 {

 

    # 初始化状态

    state MASTER

 

    # 虚拟 ip 绑定的网卡

    interface eno1

 

    # 此 ID 要与 Backup 配置一致

    virtual_router_id 80

 

    # 默认启动优先级,要比 Backup 大点,但要控制量,保证自身状态监测生效

    priority 50

    advert_int 1

    authentication {

        auth_type PASS

        auth_pass 1111

    }

 

    virtual_ipaddress {

        # 虚拟 ip 地址

        192.168.1.179

    }

 

}

4.重启  systemctl restart keepalived  (这个命令可能也行,未测试 service keepalived start)

5.通过 ps -aux | grep kee 来查询是否启动keepalived 正常如以下:

6.现在,可以ping一下设定的虚拟地址192.168.1.179,看是否可用(该地址使用ifconfig显示不出来)。 也可通过  ip addr 查看

7.查看日志可通过: systemctl status keepalived.service

8.另一个电脑也是按以上步骤来安装keepalived,但是keepalived.conf文件中的priority 设置为不一样,同时设置为master也没关系,它们自己会通过priority来确定那个是主那个是备

 

 

安装mysql

 

参考了: https://blog.csdn.net/itxiaolong3/article/details/77905923

mysql -uroot -p 随便什么密码都可以进去,待修改?

Mysql5.7在ubuntu18.04上是没办法设置root密码的,所以要想有密码,要安装mysql8.0以上版本

具体玩法百度搜索下,以下安装步骤装的是5.7版本,如要8.0版本的,请网上再搜索下。

1.apt-get install mysql-server, 会直接安装,都没有设置root密码的步骤

2.进入到/etc/mysql/mysql.conf.d# vim mysqld.cnf ,找到bind-address            = 127.0.0.1这一行,在最前面加入##,屏蔽掉此行,以允许远程访问

3.可通过 命令 mysql_secure_installation 设置root的密码(可选,但为了安全,必选)

4.在mysql环境下执行授权命令(授权给远程任何电脑登录数据库):

输入下面的命令进行开启

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '****' WITH  GRANT OPTION;

5.刷新配置信息

回车之后继续输入刷新配置命名

flush privileges; 

6.exit退出mysql

7.重启mysql

service mysql restart

最后就可以通过我们电脑的管理数据库可视化软件登录

上我们的数据库了。其他的操作就是跟我们之前操作本地

数据库一样了。

8.可通过以下命令测试远程登陆,前提是在另一台电脑上装了mysql,不管是linux版本还是window版本

mysql -h 192.168.1.102 -P 3306 -u root -p****

 

可以创建一个表来验证是否能从远程电脑看到更改:

create table `commodity`
(
`id`
int unsigned not null auto_increment primary key,

`commodity_name` varchar(50) not null,
`formatI` varchar(50) not null,
`price` double not null,
`quantity` double not null,
`period` int(20),
`purchase_sel` varchar(6),
`remark` varchar(100),
`write_time` timestamp default current_timestamp
)charset utf8;

 

搞简单点的:

create table `easy`
(
`id`
int unsigned not null auto_increment primary key,

`commodity_name` varchar(50) not null

)charset utf8;

插入一条数据:

insert into easy values(3, "fjwefjj");

查询:

select * from easy;

 

此时,可通过另一台电脑来查看结果,是否跟源数据更新一致。

 

通过以下命令可删除数据库:

DROP DATABASE testdb;

 

 

 

mysql主备设置

192.168.1.102为master , 192.168.1.116为slave;

参考 https://blog.csdn.net/u010391029/article/details/48470295

1.设置主, 进入/etc/mysql/mysql.conf.d# vim mysqld.cnf  将下图的二行解屏

设置从,

注意主从的server-id不一样

2.写好配置文件重启数据库

service mysql restart

3.分别在master、slave上添加同步帐号

mysql>GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%' IDENTIFIED BY '111111';

4.设置主从,查看master二进制状态 show master status;

在slave 执行:

mysql>change master to master_host='192.168.1.102',master_user='repl', master_password='111111',master_log_file='mysql-bin.000001',master_log_pos=437;

master_log_file='mysql-bin.000001',master_log_pos=437master status中对应的内容。

mysql> start slave;

mysql> show slave status\G;

其中 Slave_IO_Running: Yes,Slave_SQL_Running: Yes 表示设置成功。

 

此时即可在master中创建新数据库,再到slave中查看是否同步。

 

5.设置主主

在slave执行:mysql> show master status;

 

在master执行:

mysql>change master to master_host='192.168.1.116',master_user='repl', master_password='111111',master_log_file='mysql-bin.000004',master_log_pos=154;

注:master_log_file='mysql-bin.000004',master_log_pos=154为master status中对应的内容。

mysql> start slave;

mysql> show slave status\G;

其中 Slave_IO_Running: Yes,Slave_SQL_Running: Yes 表示设置成功。

如果Slave_IO_Running显示为connecting,这是不成功的,显示是连接未成功,可能的原因有,mysqld.cnf里面的bind-address          = 127.0.0.1未屏掉,未执行以下命令,未打开slave的远程访问功能

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '****' WITH  GRANT OPTION;

flush privileges; 

service mysql restart

 

 

如此我们可以在master上修改数据,也可以slave上修改数据,都可以实时地同步。也可以通过keepalived,访问192.168.1.179,以高可用的访问二台电脑。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值