MySQL的基本管理
-
连接数据库
-
语法
mysql -uroot -p -h IP地址 -P 端口号
-
示例
mysql -uroot -p -h 127.0.0.1 -P 3306
-
-
进入数据库
-
语法
USE 数据库名称
-
示例
USE mysql
-
-
创建用户
-
语法
CREATE USER '用户名'@'IP地址' IDENTIFIED BY '密码';
-
创建一个只允许通过IP地址为192.168.1.10的用户连接数据库
CREATE USER '用户名'@'192.168.1.10' IDENTIFIED BY '密码';
-
创建一个只允许通过IP地址为192.168.1.0网段的用户连接数据库
CREATE USER '用户名'@'192.168.1.*' IDENTIFIED BY '密码';
-
创建一个可通过任意IP地址连接据库的用户
CREATE USER '用户名'@'*' IDENTIFIED BY '密码';
-
-
用户授权
-
语法
GRANT 权限 ON 数据库.表 TO '用户名'@'IP地址' IDENTIFIED BY '密码';
-
给用户授权db数据库的查询、插入和更改的权限
GRANT SELECT,INSERT,UPDATE ON db.* TO '用户名'@'%' IDENTIFIED BY '密码';
-
给用户授权db数据库除grant权限外的所有权限
GRANT ALL PRIVILEGES ON *.* TO '用户名'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;
-
查看授权
SHOW GRANTS FOR '用户名'@'IP地址';
-
取消授权
REVOKE 权限 ON 数据库.表 FROM '用户名'@'IP地址';
-
刷新权限
FLUSH PRIVILEGES;
-
-
删除用户
-
语法
DROP USER '用户名'@'IP地址';
-
-
修改用户
-
语法
RENAME USER '用户名'@'IP地址'; to '新用户名'@'IP地址';
-
-
修改用户密码
-
语法
SET PASSWORD FOR '用户名'@'IP地址' = Password('新密码')
-
-
破解管理员密码
先关闭mysqld服务
-
以跳过授权表的方式在命令行中启动mysqld服务端
mysqld --skip-grant-tables
-
客户端直接以无密码的方式登录root用户
mysql -uroot -p
-
修改密码
update mysql.user set password=password("123") where user="root" and host="localhost"; flush privileges;
-
在Windows命令行中用taskkill杀死mysqld服务,然后正常启动mysqld
tasklist | findstr mysqld taskkill /F /PID 进程号
用户权限相关数据保存在mysql数据库的user表中,可以直接对其操作(不建议)
-
数据库转储
-
备份数据库(数据+结构)
mysqldump -h 服务器IP -u用户名 -p密码 数据库名称 > 路径/数据库名称.sql
-
备份数据库(结构)
mysqldump -h 服务器IP -u用户名 -p密码 -d 数据库名称 > 路径/数据库名称.sql
-
备份所有数据库
mysqldump -h 服务器IP -u用户名 -p密码 --all-databases > 路径/数据库名称.sql
-
导入数据库
mysqldump -u root -p 数据库名称 < 数据库名称.sql
-
-
修改定界符
-
默认定界符为分号,修改定界符使用delimiter,将定界符修改为/
delimiter /
-