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