登录:
mysql -h 服务器地址 -u 用户名 -p 密码
-h后面的服务器地址如果是远程的服务器,那么就要加上相应的IP地址。而本机地址
作为服务器的话,只要加localhost即可,这和127.0.0.1是相同的意思。
注意:
主机必须要有登录mysql数据库的权限才可以登录!(换句话说,数据库服务器可以禁止某些IP登录,个人猜测)
\c这个命令可以取消本行命令
exit退出当前客户端
常用命令:
\h 查看帮助信息
\s 查看系统信息
show databases; 查看已经创建好的数据库
create database [if not exists] 数据库名称 创建一个指定名称的数据库
drop database [if exists] 数据库名称 删除一个指定名称的数据库
use 数据库名称 使用某个指定的数据库
数据库建立成功后,在服务器的数据库data文件夹类就会添加对应的数据库名称文件夹
前提是进入某个指定的存在的数据库:
create table [if not exists] 表名称(
……
); 创建一个数据表(里面的省略号表示数据类型)
drop table [if exists] 表名称 删除一个指定名称的表
alter table 表名称 相关操作 修改表的格式数据内容等等
相关操作比如:
add 增加
drop 删除
change 修改字段名,属性
modify 修改属性
完整的创建数据表的例子:
create table if not exists user(
id int,
username varchar(30),
age tinyint,
sex tinyint(1));
注意:这里全是括号!没有尖角符号!让我掉进大坑了!
另外,不能和mysql中的关键字起名字冲突!
desc 表名称 查看数据表格式信息内容
创建新用户并授权:
grant 权限 on 数据库.数据表 to 用户名@登录主机 identified by 密码
举例说明:
grant select,insert,update,delete on *.* to whl@"%" identified by "whl";
解析:将所有数据库中所有数据表的查询、插入、更新、删除的权限给在任意主机上进行登录的whl用户,且用户的密码为whl
另一个例子:
grant select,insert,update,delete on *.* to user1@"%" identified by "user123456";
解析:将所有数据库中所有数据表的查询、插入、更新、删除权限给可以在任意主机登录的user1用户,user1用户的登录密码是user123456
无法在本机登录的原因是:得到权限的用户即使拥有可以在所有主机登录的权限,但是没有在localhost登录的权限,mysql中,localhost的登录需要使用socket的方式,而其他的登录则是用-h+主机地址的方式。