【Mysql命令】个人常用mysql简单命令笔记

MYSQL相关知识

dos进入mysql

进入mysql安装的bin文件夹下(如果配置了mysql的全局变量则不需要操作本步骤),打开dos窗口。
运行下面命令,并按照提示输入密码即可进入。
mysql -h 127.0.0.1 -u root -p
查看mysql版本
select version();
查看端口号
show variables like  'port';
查看数据存放路径
show variables like 'datadir';
退出
exit; 或 quit; 

用户管理

查看用户
select host, user from mysql.user;
新增用户
create user {username} identified by {password};
授权
授予全部权限
grant all privileges on *.* to moyou@'%';

授予部分权限
grant select on *.* to moyou@'%';
例: grant select on nkbdp.* to finance@'%'; --授予finance用户在nkbdp库的查询权限
	grant create on finance.* to finance@'%'; --授予finance用户在nkbdp库的建表权限

如果加上 with grant option则表示用户有权限赋予其他用户权限
例:
	grant all privileges on *.* to moyou@'%' with grant option;
	grant select on nkbdp.* to finance@'%' with grant option;

刷新权限
flush privileges;
修改密码
alter user 'root'@'localhost' identified by '新密码';
或
update mysql.user set authentication_string=password('新密码') where user='用户名' and Host ='localhost';

密码复杂度策略

查看是否有密码校验插件
show variables like 'validate_password%';
或
show plugins;
安装插件validate_password
install plugin validate_password soname 'validate_password.dll';
查看密码复杂度
show variables like 'validate_password%';

validate_password_dictionary_file  --字典文件
validate_password_length           --密码最小长度
validate_password_mixed_case_count --大写字母最少数量
validate_password_number_count     --数字最少数量
validate_password_policy           --密码等级
validate_password_special_char_count --最少包含特殊字符数量

【Mysql命令】个人常用mysql简单命令笔记_第1张图片

登录失败策略

注:MySQL 5.6.35及之后的版本才会有connection_control插件

查看是否安装控制插件

show variables like '%connection_control%';
或
show plugins;

安装插件
install plugin connection_control soname “connection_control.dll”;
报错以下错误,说明没有该插件
ERROR 1126 (HY000): Can’t open shared library ‘C:\Program Files\MySQL\MySQL Serv
er 5.6\lib\plugin\connection_control.so’ (errno: 126 \00D5\04B2\00BB\00B5\00BD\0
5B8\00B6¨\00B5\00C4\0123\00BF)

ssl配置

查看是否支持ssl
show variables like '%ssl%';
查看状态
\s

【Mysql命令】个人常用mysql简单命令笔记_第2张图片

显示SSL: Not in use 说明连接没有在SSL安全连接中。

去除外键,并修改索引名称

select 
	concat('ALTER TABLE ', table_name, ' DROP FOREIGN KEY ', CONSTRAINT_NAME, ';') as dropFk,
	concat('ALTER TABLE ', table_name, ' DROP INDEX ', CONSTRAINT_NAME, ', ADD INDEX ', UPPER(column_name), '_INDEX(', column_name,') USING BTREE;') as changeIndex
from information_schema.KEY_COLUMN_USAGE
where TABLE_SCHEMA = 'land_rent'
-- and table_name like 'gt_td_encroach_recovery'
and CONSTRAINT_NAME like 'fk%'
-- ORDER BY REFERENCED_TABLE_NAME
ORDER BY TABLE_NAME
;

迁移目录文件

随着业务的增长,数据会越来越多,系统盘空间会爆满,这时就需要迁移数据文件到其他磁盘中。

创建目录
	mkdir /usr/local/mysql
	mkdir /usr/local/mysql/data
	mkdir /usr/local/mysql/log
修改目录的主属改成mysql用户

因为如果目录的主属不是mysql用户,mysql是无法访问的

	chown -R mysql.mysql /usr/local/mysql

迁移数据文件到mysql目录中
mv /var/lib/mysql/* /usr/local/mysql/data  # 数据文件
mv /var/log/mysqld.log /usr/local/mysql/log  # 日志文件
修改配置文件

linux 默认配置文件为/etc/my.cnf

你可能感兴趣的:(sql,mysql,笔记)