mysql left join 一条_MySQL

MySQL

1.mariadb

  • 与MySQL 是同一个研发者,语法一致

2.服务端安装:

  • yum -y install mariadb-server

3.启动:

  • systemctl start mariadb

4.mariadb 编译安装:

  • cmake

5.配置文件my.cnf

  • /etc/my.cnf

6.端口:3306

7.连接:

  • mysql -h$IP -P$port -u$user -p$password

8.几个概念:

1.数据库服务器:安装数据库的一个操作系统级别的主机2.数据库实例:数据库服务器安装的数据库服务3.数据库:数据库实例中的databases,通过create database 创建4.数据库表:databases 中记录数据的表格

9.mysql 命令:

注意:sql 语句以 结尾

(1)grant:赋权

grant all privileges on *.* to '$user'@'$host' identified by '$password';

  • all privileges:权限,包括:select、update、insert、usage 等等

  • All/All Privileges:代表全局或者全数据库对象级别的所有权限

  • Alter:权限代表允许修改表结构的权限,但必须要求有create 和insert 权限配合。如果是rename 表名,则要求有alter 和drop 原表, create 和insert 新表的权限.

  • Create:权限代表允许创建新的数据库和表的权限。

  • Delete:权限代表允许删除行数据的权限。

  • Index:权限代表是否允许创建和删除索引。

  • Drop:权限代表允许删除数据库、表、视图的权限,包括truncate table 命令。

  • Insert:权限代表是否允许在表里插入数据,同时在执行analyze table,optimizetable,repair table 语句的时候也需要insert 权限

  • Select:权限代表允许从表中查看数据,某些不查询表数据的select 执行则不

  • 需要此权限,如Select 1+1, Select PI()+2;而且select 权限在执行update/delete 语句中含有where 条件的情况下也是需要的

  • Update:权限代表允许修改表中的数据的权限

  • Usage:权限是创建一个用户之后的默认权限,其本身代表连接登录权限

  • slave:主从复制权限

*.*:指定权限范围

  • 第一个*:数据库,可以指定库名,*代表当前数据库实例中的所有数据库

  • 第二个*:数据表,可以指定表名,*代表当前数据库中的所有表

  • '$user'@'$host':用户及主机

  • $host:主机信息,mysql 会根据主机分配权限,值可以是网段,可以是域名,可以是ip 地址,其中%代表所有远程连接

  • identified by:配置用户的密码

(2)revoke:取消权限

  • revoke all on *.* from '$user'@'$host';

  • 刷新权限:flush privileges;

(3)创建数据库

  • create database $database_name character set utf8[collate utf8mb4_general_ci];

(4)导入数据库文件

  • # mysql -h$IP -P$port -u$user -p$password < ${sqlfile}.sql

(5)导出(备份)数据库

  • # mysqldump -h$IP -P$port -u$user -p$password $database [$table] > ${sqlfile}.sql

(6)初始化

  • mysql_secure_installation

MySQL 主从配置

1.两个角色:

  • master:源头,源数据库服务器

  • slave:目标,即备份的服务器

2.日志类型

  • 二进制日志:binary_log,记录全部有效的数据修改日志,一般在master 主机记录

  • 中继日志:relay_log,用于主从复制,临时存储从主库同步的二进制日志

3.配置:

修改my.cnf 文件

参数:

  • log_bin = [base_name]:静态参数只能在my.cnf 中配置重启服务后生效。5.7之前一般不会启用这个参数。

  • binlog_format = [row/statement/mixed]:动态参数。5.7 之后默认row 主从复制中安全性比较高

  • binlog_ignore_db = mysql:不同步MySQL 系统数据库

  • server_id = 18:#数据库集群中的每个节点id 都要不同,且要求master 的id 小于slave

  • read_only=[yes|no]:一般用于从库,配置为只读库

4.过程

(1)主库修改配置文件(/etc/my.cnf),[mysqld]添加:

  • log_bin=mysql_bin_log

  • binlog_format=mixed

  • binlog_ignore_db=mysql

  • server_id=1

(2)重启服务,生效配置

  • systemctl restart mariadb

(3)主库创建主从复制的用户:

  • grant REPLICATION slave on *.* to 'slave'@'192.168.10.129' identified by '000000';

(4)从库修改配置文件,[mysqld]添加:

  • server_id=10 数值建议大于masterserver_id 的值

(5)重启服务,生效配置

  • systemctl restart mariadb

(6)从库执行sql 语句:

  • change master to

    master_host='192.168.10.10',master_user='slave',master_password='000000';

  • start slave;

  • show slave status\G

(7)测试主从效果:

  • 主库创建数据库:create database slavetest;

  • 从库查询是否有主库创建的数据库:show databases;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值