一、连接mysql服务器
-- mysql -h localhost -u root -p 或 -- mysql -u root -p
如果出现“‘MySQL’不是内部或外部命令,也不是可运行得程序或批处理文件。”的错误,说明在环境变量的Path没有配置MySQL的Path.
-h 要连接的服务器主机名或ip地址,可以是远程的一个服务器主机,也可以是本机-hlocalhost方式没有空格;
-u 是服务器要验证的用户名,这个用户一定是数据库中存在的,并且具有连接服务器的权限,也可以是-uroot方式没有空格;
-p 是与上面用户对应的口令,也可以直接输入密码-proot123.
二、mysql 开启远程访问权限
注意:防火墙可能会阻止远程访问,所以需要关闭防火墙。
将host字段的值改为%就表示在任何客户端机器上都能以root用户登录到MySQL服务器,建议在开发时设为%。
(授权法) use mysql;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION;
(改表法) use mysql;
update user set host = '%' where user = 'root';
三、退出 exit
四、在忘记root用户密码的情况下修改密码
1.编译MySQL的配置文件:my.ini(如果是my-default.ini的文件名就修改文件名为my.ini)
一般在MySQL的安装目录下有my.ini文件,打开文件,在最后一行添加如下一行:
skip-grant-tables
2.然后重启MySQL服务 net stop mysql net start mysql
3.设置新的root密码
然后再执行命令:mysql -u root -p mysql 或 mysql -u root -p
直接回车不用密码就可以进入数据库,此时,在命令行输入:use mysql;
执行如下命令将root密码更新:
(5.7版本及以上版本) update user set authentication_string=password('123') where user='root';
(5.7以前版本) update user set password=password('123') where user='root';
如果图形化工具提示密码过期则需要执行:
set password=password('123456');
4.编译MySQL的配置文件:my.ini
将 skip-grant-tables 删除
五、使用 mysqladmin 命令
在cmd控制台下未登录MySQL的情况下使用:
新建数据库: mysqladmin -u root -p create 数据库名称(后面不要加分号)
删除数据库: mysqladmin -u root -p drop 数据库名称 (后面不要加分号)
更改密码: mysqladmin -u root -p password "新密码" (注意:使用这种方式修改密码需要知道旧密码)
六、用户权限
授权的语法:
权限包括:insert delete update select create drop
grant 权限名称,权限名称(all privileges) on 数据库名称.数据库对象(*.* 表示所有数据库中的所有内容) to '用户名'@'主机地址';
收回权限的语法:
revoke 权限名称,权限名称(all privileges) on 数据库名称.数据库对象(*.* 表示所有数据库中的所有内容) from '用户名'@'主机地址';
创建用户同时授权
grant all privileges on oasystem.* to 'wangwu'@'localhost' identified by '123456';
删除用户:
drop user '用户名'@'主机';
七、其他命令
use 数据库名称;
使用某个数据库,执行该语句之后,后续的sql语句操作都默认操作该数据库下的数据
show databases;
显示当前mysql软件中的所有数据库
show tables;
显示当前数据库中所有的表
exit
退出登录
八、数据库的创建、备份和还原
创建数据库:
语法:create database 数据库名称;
创建数据库时设置数据库的编码格式
语法:create database 数据库名称 default character set utf8;
删除数据库:
语法:drop database 数据库名称;
数据库备份:
在没有登录数据库的状态下
备份一个数据库中的所有表语法:
mysqldump -h localhost -u root -p 数据库名称>保存备份文件的地址(地址不能写引号)
从备份文件中还原数据库:
mysql -h localhost -u root -p 数据库名称<备份文件所在的地址
mysql从备份文件中还原数据时,会将当前的数据库的表删除然后重新创建表,再将备份的数据新增到表格中
备份一个数据库中的N个表语法:
mysqldump -h localhost -u root -p 数据库名称 表名1 表名2>保存备份文件的地址(地址不能写引号)
备份多个数据库中的数据:
mysqldump -h localhost -u root -p --databases 数据库名称1 数据库名称2>保存备份文件的地址(地址不能写引号)
还原数据库多个数据库的数据时:只需要将备份数据还原到一个数据库就可以了
只备份数据库的结构:(只有表,表中没有数据)
mysqldump --no-data -h localhost -u root -p 数据库名称>保存备份文件的地址(地址不能写引号)
备份数据库中的所有数据
mysqldump --all-databases -h localhost -u root -p >保存备份文件的地址(地址不能写引号)