首页 > 数据库 >MySQL常用命令

MySQL常用命令

时间:2023-08-03 09:00:42浏览次数:41  
标签:binlog slave -- mysql 常用命令 master MySQL password

建库

CREATE DATABASE `databaseName` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

创建用户

CREATE USER 'userName'@'localhost' IDENTIFIED BY 'eKw5Ap9EBwjIRc_AO2!Y84';

-- userName: 你将创建用户的名字
-- localhost : 本地用户,如果想让该用户可以**从任意远程主机登陆**,可以使用`%`
-- password : 密码

授权

GRANT all ON databaseName.* TO 'userName'@'%';

GRANT ALL PRIVILEGES ON databaseName.* TO 'userName'@'ip' IDENTIFIED BY 'password' WITH GRANT OPTION;

-- 授权后必须刷新权限才能生效
flush privileges;

查看权限

-- '\G' 表示以竖向的形式展示, 方便查看
select * from mysql.user where user='userName'\G;

删除用户

DROP USER 'username'@'localhost';

撤销权限

REVOKE all ON databaseName.tableName FROM 'userName'@'localhost';

还原数据

source workDispatcher.sql

增加字段

ALTER TABLE tableName ADD COLUMN columnName VARCHAR(20) DEFAULT NULL COMMENT '';

修改密码

set password for '用户名'@'%' = password('新密码');
//或者
ALTER USER 'root'@'%' IDENTIFIED BY '123456';

flush privileges;

备份数据库

mysqldump -u root -p DB_NAME > /root/DB_NAME.sql

binlog日志相关

# 查看当前的日志名称
show master status;

# 查看binlog日志
mysqlbinlog -v BIN_LOG_FILE_NAME
--start-positon=11001
--stop-position=11004
--start-datetime='2022-10-10 23:27:27'
--start-datetime='2022-10-10 23:29:00'

# 使用binlog日志还原数据
# 还原之前最好先使用 flush logs 开启新的binlog日志,以便确定业务数据的最后边界
mysqlbinlog -v --start-positon=11001 --stop-position=11004 BIN_LOG_FILE_NAME | mysql -u root -p

重新统计索引扫描行数

analyze table tableName

强制使用索引

-- 强制使用索引index_a
select * from t force index(index_a) where (a between 1 and 1000) and (b between 50000 and 100000) order by b limit 1;

配置主从

1、master修改配置文件/etc/my.cnf,在[mysqld]下增加

log-bin=mysql-bin
server-id=1
binlog-format=row
binlog-do-db=lyzz_image

2、master创建用户,专门用于复制操作,用于从节点连接主节点时使用,slave_ip为从节点IP

-- mysql 5.7 默认身份验证插件default_authentication_plugin是:mysql_native_password
CREATE USER 'master'@'slave_ip' IDENTIFIED WITH mysql_native_password BY '123456';

-- mysql 8.0 默认身份验证插件default_authentication_plugin是:caching_sha2_password
CREATE USER 'master'@'slave_ip' IDENTIFIED WITH caching_sha2_password BY '123456';

-- 为master用户授权
GRANT REPLICATION SLAVE ON *.* TO 'master'@'slave_ip';

-- 刷新权限
flush privileges;

-- 查看主节点binlog日志信息,记录FILE及POSITION
show master status;

3、slave修改配置文件/etc/my.cnf,在[mysqld]下增加

log-bin=mysql-bin
server-id=2
binlog-format=row
replicate-do-db=lyzz_image

4、在Slave节点上设置主节点参数,然后开启主从同步

-- 设置主节点参数
CHANGE MASTER TO MASTER_HOST = '${MASTER_IP}',
    MASTER_USER ='master',
    MASTER_PASSWORD ='${MASTER_PASSWORD}',
    MASTER_LOG_FILE ='${FILE}',
    MASTER_LOG_POS = '${POSITION}',
    get_master_public_key =1;

-- 开启同步
start slave;

-- 设置失败时清除同步配置
reset slave all;

5、查看主从同步状态show slave status;,确认数据一致,且Slave_IO_RunningSlave_SQL_Running为Yes,Last_IO_Error为空

Slave_IO_State: Waiting for master to send event
Master_Host: 10.0.0.227
Master_User: master
Master_Port: 3306
Master_Log_File: mysql-bin.000001
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB: lyzz_arch
Last_IO_Error: 
Get_master_public_key: 1

6、其他配置:

不同步哪个数据库(在master[mysqld]):binlog-ignore-db=mysql
只同步哪个数据库(在master[mysqld]):binlog-do-db=lyzz_arch,其他库不同步
接收哪个库的binlog日志(在slave[mysqld]):replicate-do-db=lyzz_arch

标签:binlog,slave,--,mysql,常用命令,master,MySQL,password
From: https://www.cnblogs.com/tanmujin/p/17440785.html

相关文章

  • 运维——Centos7 安装MySQL详细步骤
    转自:https://blog.csdn.net/javaluckyfish/article/details/1314210161.卸载MariaDB在CentOS中默认安装有MariaDB,是MySQL的一个分支,主要由开源社区维护。CentOS7及以上版本已经不再使用MySQL数据库,而是使用MariaDB数据库。如果直接安装MySQL,会和MariaDB的文件冲突。因此,需要先卸......
  • 模型:Django与Mysql交互
     1、创建数据库用户前提是已经在本机或者服务器上安装了mysql。createdatabaseslw;createuser'slw'@'%'identifiedby'pwd'grantallprivilegesonslw.*to'slw'@'%'identifiedby'pwd'withgrantoption;flushprivile......
  • MySQL提权之启动项提权——开机启动的程序,那时候启动的程序权限都是system
    关于MySQL的启动项提权,听其名知其意。就是将一段VBS脚本导入到 C:\DocumentsandSettings\AllUsers\「开始」菜单\程序\启动下,如果管理员重启了服务器,那么就会自动调用该脚本,并执行其中的用户添加及提权命令!这里有两种思路:1.如果 C:\DocumentsandSettings\AllUsers\「......
  • 数据库事务的四种隔离性及Oracle\MySQL默认隔离级别和原因分析
    1事务一个事务中的一系列的处理操作要么全部成功,要么一个都不做。在数据库操作中,一项事务(Transaction)是由一条或多条操作数据库的SQL语句组成的一个不可分割的工作单元。事务的处理结果有两种:1)当事务中的所有步骤全部成功执行时,事务提交,成功;2)如果其中任何一个步骤失败,该事务......
  • 数据库(MySQL语句)
    一.概念数据库是长期存放在计算机内、有组织的、可共享的数据集合数据库中的数据按一定的数据模型组织、描述和存储,且具有较小的冗余度、较高的数据独立性和易拓展性数据库管理系统(DBMS)是用于建立、使用和维护数据库的软件建立:定义、组织和存储数据使用:查询、插入、删除和......
  • 软件测试 | Windows平台下配置MySQL
    对于noinstall方式安装的MySQL,系统的参数配置、服务的启动关闭都需要手工在命令窗口中进行设置。参数文件可以在多个位置进行设置,这里用一个c:\my.cnf来进行操作,其他更详细的参数位置可以参考第24章中的参数设置方法。对于初学者来说,my.cnf并不知道该怎样配置。MySQL为用......
  • Redis 常用命令
    连接redis-cli-h{server_ip}-p{port}-a{password}常用错误使用Jedis连接redis出现CannotgetJedisconnection;Couldnotgetaresourcefromthepool错误具体报错信息如下:org.springframework.beans.factory.BeanCreationException:Errorcreatingbeanwithname'ena......
  • MySQL内存分配详解
    InnoDB存储引擎层基础内存分配如果在编译MySQL的时候不开启FPS的监控,InnoDB对动态内存(heap)的分配和释放使用基础的new、delete、malloc、free等。默认InnoDB对内存的分配和回收会添加FPS的监控模块。InnoDB对动态内存(heap)的分配和回收使用封装后的函数,主要在ut_allocator类中实......
  • MySQL8.0 JSON数据类型
    (目录)JSON数据类型MySQL8.0支持原生的JSON数据类型。JSON数据类型存在以下优点自动验证存储在json列中的JSON文档,无效文档会产生错误优化存储格式。json列中的文档被转换为内部格式,可以直接对文档元素进行快速读取访问。JSON值JSON值类型在MySQL中,JSON值可以是字符串/数......
  • 8、MySQL数据表基本数据类型
    数字整数还有其他的数据类型,分成了几种:1、数字类型2、字符串类型3、时间类型总共可以分成这么几类,咱们的数字里面有个int,除了int还有什么呢,还有tinyint、bigint,它们都是int,它们之间的区别是什么,它是不是能表示的数据范围是不一样的。比如对于tinyint,它只能表示有符号的-128......