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コマンドの許可操作の一般的なスキーム:

    コマンド 効果
    データベースに対する権限を付与します。フォーム名からユーザー名@ホスト名へ 特定のデータベースでフォームを承認する
    データベースに対する権限を付与します。* TO username @ hostname Moggの特定のデータベース内のすべてのフォームを承認します
    ON GRANT権限 TOユーザ名@ホスト名 すべてのデータベースとすべてのフォームを承認します
    GRANTパーミッション1、パーミッション2ONデータベース。* TO username @ hostname データベース内のすべてのフォームに複数の承認を付与する
    ON GRANT ALL PRIVILEGESの TOユーザ名@ホスト名 すべてのデータベースとすべてのフォームにすべての認証を付与する
>GRANT SELECT,UPDATE,DELETE,INSERT on mysql.user to test@localhost;         //对test用户给予查询、更新、删除、插入权限
>> show grants for test@localhost;                                       //查询test用户的权限

データベースとフォームを作成する

  • 一般的に使用されるデータベースフォーム管理コマンド:
使用法 効果
CREATEデータベースデータベース名; 新しいデータベースを作成する
DESCRIBEフォーム名; 説明フォーム
UPDATEフォーム名SET属性=新しい値WHERE属性>元の値; フォームのデータを更新します
データベース名を使用します。 使用するデータベースを指定します
データベースを表示します。 現在存在するデータベースを表示する
SHOWテーブル; 現在のデータベースのフォームを表示します
SELECT * FROMフォーム名; フォームからレコード値を選択します
DELETEFROMフォーム名WHERE属性=値; フォームからレコード値を削除します

ログをオンにします。

  • 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