登陆mysql命令:
mysql -u 用户名 -p
例如:mysql -u root -p
(输完后会让你输密码的)
远程登陆到mysql命令
mysql -u root -p -h 主机ip -P端口号 (注意密码是小写p,端口号是大写P)
例如:mysql -u root -p -h 111.111.111.111 -P 3306
(输完后会让你输密码的)
进入到mysql命令行后到命令需要加分号(;)
创建一个名为test的数据库
create database test;
删除一个名为test到数据库
drop database test;
显示数据库
show databases;
进入到某个数据库中,比如demo
use demo;
显示表(进入数据库后)
show tables;
删除一个表,比如test_table
drop table test_table;
创建一个用户
create user '用户名'@'ip地址' identified by '用户密码';
例如:create user 'wzh'@'127.0.0.1' identified by '123456';
其中如果ip地址为%,则表示这个用户可以用任何ip进行连接这个mysql,如果是127.0.0.1,则表示只能通过本地访问mysql
比如:create user 'wzh'@'%' identified by '123456';
删除用户
drop user 用户名;
删除已存在的用户,默认删除的是'用户名'@'%'这个用户,如果还有其他的用户如'用户名'@'localhost'等,不会一起被删除。如果要删除'用户名'@'localhost',即drop user '用户名'@'localhost';
刷新授权
flush privileges;
当创建好了一个新用户后,目前这个新用户只有连接这个mysql的权限,而没有其它任何权限,比如查找,插入,删除等权限都没有,所以要给这个新用户给一点点权限,让它可以进行一些操作
grant 权限 on 数据库.* to 用户名@登录主机 identified by "用户密码";
表示这个数据库下面所有的表,你也可以指定具体的表如,数据库.表名
这个权限有哪些呢
all privileges表示所有的权限
举例:grant all privileges on 数据库. to 用户名@登录主机 identified by "用户密码";
还有以下权限:
select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process,file
举例:grant select, insert,update,delete,create,drop on 数据库.* to 用户名@登录主机 identified by "用户密码";
给完权限后记得要flush privileges;
撤销权限
evoke 权限 on 数据库.* from 用户名@登录主机;
记得要flush privileges;
修改表名
rename table 原表名 to 新表名;
导出一个数据库
mysqldump -u 用户名 -p 数据库名 > 导出的文件名
注意没有分号,因为不是在mysql命令行中执行的
举例:mysqldump -u wzh -p database_name > outfile_name.sql
(输完后会让你输密码的)
导出一个表
mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
举例:mysqldump -u wzh -p database_name table_name > outfile_name.sql
(输完后会让你输密码的)
导入一个数据库
命令source sql文件路径(前提是连接到mysql数据库)
连接到mysql后,新建一个database,然后use database,进入到数据库里面,然后用source sql文件路径命令导入新的数据库中
如何远程连接mysql
首先如果你是新建的用户,ip地址处要写%
比如:create user 'wzh'@'%' identified by '123456';
用户名:wzh
密码:123456
%代表这个用户可以从任意ip访问mysql
新建完用户后,别忘了给权限,不然什么都不能操作
如果是root用户,那么就要修改一下mysql中user表的内容
连接到mysql后,进入到mysql数据库(use mysql)
然后查看表user的部分信息
select host, user from user;
如图:
图1.png
root的host是localhost,所以要改成%,用下面这条更新命令
update user set host='%' where user='root';
然后再查看就可以了
这个弄完后,还要改一下配置文件。
配置文件每个系统地方都有所区别(区别不会很大),这个需要网上查询,我系统是ubuntu16.04
所以在/etc/mysql/mysql.conf.d/目录下的mysqld.cnf文件
将文件中的如下行
bind-address = 127.0.0.1
用#注释掉,然后查看port = 3306是否有这行,这个端口可以自己更改
改完后保存退出
输入命令netstat -tan
查看是否正常开启端口
如图2所示表示已经正常开启端口
然后就可以远程连接了
网友评论