mysql_学习笔记1
下载安装可以看:https://www.runoob.com/mysql/mysql-install.html
当 MySQL 服务已经运行时, 我们可以通过 MySQL 自带的客户端工具登录到 MySQL 数据库中, 首先打开命令提示符, 输入以下格式的命名:
mysql -h 主机名 -u 用户名 -p
参数说明:
-h : 指定客户端所要登录的 MySQL 主机名, 登录本机(localhost 或 127.0.0.1)该参数可以省略; -u : 登录的用户名; -p : 告诉服务器将会使用一个密码来登录, 如果所要登录的用户名密码为空, 可以忽略此选项。
登入以及创建,授权,删除新用户操作
如果我们要登录本机的 MySQL 数据库,只需要输入以下命令即可:
mysql -u root -p
按回车确认, 如果安装正确且 MySQL 正在运行, 会得到以下响应:
Enter password:
若密码存在, 输入密码登录, 不存在则直接按回车登录。登录成功后你将会看到 Welcome to the MySQL monitor... 的提示语。
然后命令提示符会一直以 mysq> 加一个闪烁的光标等待命令的输入, 输入 exit 或 quit 退出登录。
密码忘了之类的可以看这个:https://blog.csdn.net/m0_46278037/article/details/113923726
启动关闭mysql:
net start mysql #启动mysql服务
net stop mysql #关闭mysql服务
添加新用户:
insert into mysql.user(Host,User,Password) values("localhost","test",password("1234"));
报以下的错误 ERROR 1364 (HY000): Field 'ssl_cipher' doesn't have a default value 错误
错语原因:
mysql 用户表的中某些字段不能为空,没有默认值,其实是操作错误,mysql 添加用户是不能这样直接 insert user 表的。
添加新的用户
允许本地 IP访问localhost的Mysql数据库
mysql> create user 'wcy'@'localhost' identified by 'wcy'; Query OK, 0 rows affected (0.02 sec)
允许外网IP访问数据库editest,本命令包含上面的命令,是所有的IP都可以访问该数据库
mysql> create user 'qht'@'%' identified by 'qht'; Query OK, 0 rows affected (0.01 sec)
创建用户后,该用户只能连接到数据库服务器,但并没有操作该数据库服务器的权限
用户创建完成后,刷新授权
mysql> flush privileges; Query OK, 0 rows affected (0.00 sec)
授权:使用grant语句
语法:mysql> grant 权限1,权限2,...权限n on 数据库名称.表名称 to 用户名@用户地址 identified by '连接口令';
权限1,权限2,...权限n代表
select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process,file等14个权限
如果要授权所有 就用all
grant all privileges on *.* to 'test1'@'localhost' with grant option;
比如
mysql>grant select,insert,update,delete,create,drop on vtdc.employee to joe@10.163.225.87 identified by '123';
给来自10.163.225.87的用户joe分配可对数据库vtdc的employee表进行select,insert,update,delete,create,drop等操作的权限,并设定口令为123
mysql>grant all privileges on vtdc.* to joe@10.163.225.87 identified by '123';
给来自10.163.225.87的用户joe分配可对数据库vtdc所有表进行所有操作的权限,并设定口令为123。
mysql>grant all privileges on *.* to joe@10.163.225.87 identified by '123';
给来自10.163.225.87的用户joe分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123。
mysql>grant all privileges on *.* to joe@localhost identified by '123';
给本机用户joe分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123。
用户可给其它用户赋予权限,但不可能超过该用户已有的权限
查看用户授权信息
show grants for 'test1'@'localhost;
撤销授权
revoke all privileges on *.* from 'test1'@'localhost';
取消用户和权限也等于删除用户
drop user 'test1'@'localhost';
删除用户:
语法: Delete from user where user = "user_name" and host = "host_name" ; 例子:delete from user where user='sss' and host='localhost';
修改mysql用户密码方式:
ALTER USER dbadmin@localhost IDENTIFIED BY 'newpasswd3';
SET PASSWORD FOR 'dbadmin'@'localhost' = 'newpasswd2';
修改用户名字:
alter user 'test'@'localhost' identified by '123456';
还有一个没实践成功
select host,user from mysql.user;