Centos7部署Mysql&主从同步

Mysql数据库:

部署mysql服务

安装:

[root@localhost ~]# yum install -y mariadb mariadb-devel mariadb-server

开启服务:

[root@localhost ~]# systemctl restart mariadb

初始化mysql:

[root@localhost ~]# mysql_secure_installation

本地登录mysql:

[root@localhost ~]# mysql -u root (-p密码)                //如果没有设置密码可以不加-p参数

  >show databases;                                  //查看库

 >create database School;                           //创建库

**Query OK,1 row affected (0.00 sec)

 >use School                                      //切换库

**Database changed**

 >create table Score(                                //创建表

   ->ID int primary key,

   ->Name varchar(20),

   ->Birthday Datetime,

   ->Sex char(10),

   ->Password char(64)

   ->);

**Query OK,0 row affected (0.00 sec)

 >show tables;                                    //查看有哪些表

img

 >insert into Score(ID,Name,Birthday,Sex,Password)      //向表里添加内容

   ->values(‘1’,’suser1’,’1999-6-1’,’female’,’suser1’),

​    ->(‘2’,’suser2’,’2000-9-1’,’male’,’suser2’)

​    ->;

**Query OK, 2 rows affected (0.00 sec)

**Records: 2 Duplicates: 0 Warnings: 0**

 >select * from Score order by id limit 0,2;                //查询id列的前两行

  >select * from Score;                             //查询Score表中的内容

  >delete from Score where ID='1                ';          //从Score中删除ID等于1的内容

  >drop table Score;                                    //删除Score表

  >drop database School;                            //删除School库

管理数据库

创建用户:

>create user 'a'@'localhost' identified by '1234';          //创建a用户赋予密码1234

修改密码:

[root@localhost ~]# mysqladmin -uroot password 123         //修改root初始密码为123
>set password for root@localhost = password(‘123’);           //修改root密码为123

赋权:

  • GRANT命令的授权操作常用方案:

    命令 作用
    GRANT 权限 ON 数据库.表单名称 TO 用户名@主机名 对某个特定数据库中的表单给予授权
    GRANT 权限 ON 数据库.* TO 用户名@主机名 对莫格特定数据库中的所有表单给予授权
    GRANT 权限 ON . TO 用户名@主机名 对所有数据库及所有表单给予授权
    GRANT 权限 1,权限2 ON 数据库.* TO 用户名@主机名 对某个数据库中的所有表单给予多个授权
    GRANT ALL PRIVILEGES ON . TO 用户名@主机名 对所有数据库及所有表单给予全部授权
  • 例子
>GRANT SELECT,UPDATE,DELETE,INSERT on mysql.user to test@localhost;         //对test用户给予查询、更新、删除、插入权限
>> show grants for test@localhost;                                       //查询test用户的权限

创建数据库与表单

  • 常用的数据库表单管理命令:
用法 作用
CREATE database 数据库名称; 创建新的数据库
DESCRIBE 表单名称; 描述表单
UPDATE 表单名称 SET attribute=新值 WHERE attribute > 原始值; 更新表单中的数据
USE 数据库名称; 指定使用的数据库
SHOW databases; 显示当前已有的数据库
SHOW tables; 显示当前数据库中的表单
SELECT * FROM 表单名称; 从表单中选中某个记录值
DELETE FROM 表单名 WHERE attribute=值; 从表单中删除某个记录值

开启日志:

  • 在my.cnf中加入

    log=日志路径


远程登录数据库:

远程连接数据库:

[root@client ~]#  mysql -h [Mysql服务器IP] -P 3306 -u root -p

Enter password:123

授予用户远程访问权限:

  >grant all privileges on *.* to 'root'@'%' identified by '123';       //任何主机登录数据库使用root用户登录都有任何特权,并设置密码为123

在MySQL8.0以后的版本不适合此方法

主从服务:

配置之前需要配置适合的IP地址和hosts文件

主从服务器统一配置:

[root@mysql1/2~]# yum install -y mariadb mariadb-server

[root@mysql1/2~]# systemctl start mariadb

[root@mysql1/2~]# systemctl enable mariadb

主服务器:

[root@mysql1~]# mysql_secure_installation           //初始化mysql
设置密码
允许远程登录:Disallow root login remotely?[Y/n ]**n**
[root@mysql1~]# cp /etc/my.cnf.d/server.cnf /etc/my.cnf.d/server.cnf.bak

[root@mysql1~]# vi /etc/my.cnf.d/server.cnf

在[mysqld]下添加

[mysqld] log_bin = mysql-bin binlog_ignore_db = mysql server_id = 30

[root@mysql1~]# scp /etc/my.cnf.d/server.cnf mysql2:/etc/my.cnf.d

[root@mysql1~]# mysql -uroot -p[密码]

>grant all privileges on *.* to root@'%' identified by "[密码]";

>grant replication slave on *.* to 'user'@'mysql2' identified by "[密码]";

>exit

[root@mysql1~]# systemctl restart mariadb

从服务器:

[root@mysql2 ~]# vi /etc/my.cnf.d/server.cnf

server_id = 30改为40

[root@mysql2~]# mysql_secure_installation           //初始化mysql

设置密码

允许远程登录:Disallow root login remotely?[Y/n ]**n**

[root@mysql2~]# mysql -uroot -p[密码]

>change master to master_host='mysql1',master_user='user',master_password='[密码]';

>exit

[root@mysql2~]# systemctl restart mariadb

同步数据:

[root@mysql2~]# mysql -uroot -p[密码]

>start slave;

>show slave status\G                    //查看是否连接到主mysql服务器

猜你喜欢

转载自blog.51cto.com/14784139/2666800