MYSQL 业 ,精于勤 荒于嬉.

MYSQL 创建用户及数据库,并赋予权限

发表日期:2022-08-12 17:01:56 | 来源: | 分类:MYSQL

      示例1
#创建一个名为 testUser 的用户,%指任意主机可以连接 或 127.0.0.1 指定ip连接
#需要特别注意的是:'testUser'@'%'与'testUser'@'localhost' 看起来像是一个用户,事实上要注意 这是两个用户!可以有不同的权限
CREATE USER 'testUser'@'%' IDENTIFIED WITH mysql_native_password;

#给这个用户赋予一些查询mysql环境的权限
GRANT USAGE ON *.* TO 'testUser'@'%' REQUIRE NONE WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;

#给这个用户设置密码
SET PASSWORD FOR 'testUser'@'%' = '123456';

#创建数据库 testDB
CREATE DATABASE IF NOT EXISTS `testDB`;

#把 testDB库的所有权限 赋予 'testUser'@'%'的登录用户
GRANT ALL PRIVILEGES ON `testDB`.* TO 'testUser'@'%';


# `testDB\_%`.* TO 'testDB'@'%'; 这里可以使用通配符% 代表 把testDB_开头的数据库都给这个用户

阅读全文 »

MYSQL 事件之管理定时任务 ,计划任务详解

发表日期:2022-01-08 17:43:55 | 来源: | 分类:MYSQL

      示例1
--查看是否开启了定时任务
show variables like 'event%';

--event_scheduler | OFF 未开启,需要用管理员账号开启

SET GLOBAL event_scheduler = 1;
--或者 
SET GLOBAL event_scheduler = ON;


--创建定时任务 定时清理登录过期用户
--从2022-01-09 00:00:00 开始 每天执行一次 到2023-01-09 00:00:00 结束

CREATE EVENT `定时清除离线用户` ON SCHEDULE
   EVERY 1 DAY
       STARTS '2022-01-09 00:00:00.000000'
       ENDS '2023-01-09 00:00:00.000000' 
   ON COMPLETION PRESERVE ENABLE DO
   
   DELETE FROM user_online where expire_time < now();
   
-- EVERY 重复执行  AT '2022-01-09 00:00:00' ON COMPLETION …… 是只执行一次
-- 1DAY 每1天执行 | HOUR小时 MINUTE分钟 MONTH月 YEAR年
-- STARTS 开始执行时间 ENDS 结束时间不写的化就会一直执行
--PRESERVE 代表执行完成保留该任务,NOT PRESERVE 是执行完成删除
--ENABLE 是启用任务DISABLE是不启用任务

--删除定时任务
DROP EVENT IF EXISTS `定时清除离线用户`;

--修改定时任务就是 删除,然后执行创建

阅读全文 »

MYSQL 查询下一个自增id

发表日期:2018-07-18 23:18:41 | 来源: | 分类:MYSQL


$sql = "SELECT AUTO_INCREMENT AS next_id FROM INFORMATION_SCHEMA.TABLES  WHERE TABLE_NAME= 'user'";
$d = $model->query($sql);
print_r($d['next_id']);


阅读全文 »

MYSQL 主从数据库配置

发表日期:2017-03-13 17:10:20 | 来源: | 分类:MYSQL


主数据库:master  主数据库用于增删改

从数据库:slave  从数据库用于查询  不可进行增删改,数据将自动从主数据库同步


主数据库:centos 类型:MySQL5.6.26 配置文件:/ect/my.conf


主服务器配置:

1.配置文件中加入:

server-id=224 #//同步的id,必须唯一 并且不可和从数据库相同

log-bin=mysql-bin #//开启二进制同步记录文件,同步的数据对比就是靠此完成

binlog-do-db=zwt #//要被同步的数据库.可以设置多个被同步的数据库,每行写一个

binlog_checksum = none #//Linux下是区分大小写的,none可以让MySQL不区分大小写


2.重启MySQL服务:

service mysql restart


3.以管理员身份登录MySQL

1.创建一个账号用于同步数据库信息

2.给这个账号授予FILE, REPLICATION SLAVE权限 # 

# 创建账号并授予权限:GRANT FILE, REPLICATION SLAVE ON *.* TO 'db_master'@'%' IDENTIFIED BY 'hpAB3h7xCeQwWWRG';

# 如果账号已存在那个直接给账号授予权限就可以: GRANT FILE, REPLICATION SLAVE ON *.* TO 'db_master'@'%';


4.记录二进制文件位置

   mysql>show master status;

   +------------------+----------+--------------+------------------+

   | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |

   +------------------+----------+--------------+------------------+

   | mysql-bin.000001 |      107 |              |                  |

   +------------------+----------+--------------+------------------+


从数据库配置:

1.配置文件中加入:


server-id=242

log-bin=mysql-bin

#replicate-do-db=zwt

#replicate-ignore-db=mysql

#master-host=jsp.canquick.com

#master-user=xzspxt

#master-password=Hysenritz123456

#master-port=3306

#master-connect-retry=60



2重启

mysql service mysql restart 


3配置从服务器Slave:

change master to master_host='123.206.17.224',master_user='db_master',master_password='hpAB3h7xCeQwWWRG',master_log_file='mysql-bin.000001 ',master_log_pos=107 ;


4启动从服务器复制功能

 mysql>start slave;


5检查从服务器复制功能状态:

   mysql> show slave status\G;

          Slave_IO_Running: Yes    //此状态必须YES

        Slave_SQL_Running: Yes     //此状态必须YES


阅读全文 »

全部博文(1589)
集速网 copyRight © 2015-2022 宁ICP备15000399号-1 宁公网安备 64010402001209号
与其临渊羡鱼,不如退而结网
欢迎转载、分享、引用、推荐、收藏。