MySQL相关总结技术点分享
平时在使用过程中遇到一些简单的问题,分享一下,在开发和测试中经常用到。
MySQL相关总结技术点
需要总结的技术知识点
创建数据库
-- 创建数据库
create database linkdata default charset utf8 collate utf8_general_ci;
-- 本地登录
CREATE USER 'linkdatauser'@'localhost' IDENTIFIED BY 'linkdata123?';
-- 远程登录
CREATE USER 'linkdatauser'@'%' IDENTIFIED BY ‘linkdata';
-- 给用户付权限
grant all privileges on linkdata.* to 'linkdatauser'@'localhost';
flush privileges; -- 刷新系统权限表
MySQL8修改root密码
# 初次安装数据库软件,初次登陆修改root密码
set password='XXX123?'
错误问题
Error 1418: This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you might want to use the less safe
set global log_bin_trust_function_creators=TRUE;
Variable ‘sql_mode’ can’t be set to the value of ‘NO_AUTO_CREATE_USER’
原因:MySQL8取消了NO_AUTO_CREATE_USER
解决方案:把.sql文件里的 'NO_AUTO_CREATE_USER’删掉就好了,包括注释里面的
MySQL锁表查询和解锁操作(在管理员角色下尝试)
1、在mysql中查看锁表和解锁的步骤如下
-- 1.查看当前数据库锁表的情况
SELECT * FROM information_schema.INNODB_TRX;
-- 2.杀掉查询结果中锁表的trx_mysql_thread_id
kill trx_mysql_thread_id
2、另外一种查询锁方法
-- 1、查询是否锁表
show OPEN TABLES where In_use > 0;
-- 2、查询进程
show processlist
-- 查询到相对应的进程===然后 kill id
-- 补充:
-- 查看正在锁的事务
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS;
-- 查看等待锁的事务