Mysql命令示例

1 创建数据库

1
Mysql>create database 库名;

1.1 创建utf-8格式的数据库

1
Mysql>CREATE DATABASE `库名` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

2 删除数据库

1
Mysql>drop database 库名;

3 查询数据库

1
Mysql>show databases;

4 恢复数据库

1
2
3
Mysql>use 数据库名                    //修改要恢复的数据库

Mysql>source 数据文件名(可以带路径);

例如:

1
Mysql>source /home/123sql;

5 修改用户密码

5.1 修改root密码

5.1.1 方法1: 用SET PASSWORD命令

首先登录MySQL。

格式:mysql> set password for 用户名@localhost = password(‘新密码’);

例子:

1
mysql> set password for root@localhost = password('123');

5.1.2 方法2:用mysqladmin

格式:mysqladmin -u用户名 -p旧密码 password 新密码

例子:

1
mysqladmin -uroot -p123456 password 123

5.1.3 方法3:用UPDATE直接编辑user表

首先登录MySQL。

1
2
3
mysql> use mysql;
mysql> update user set password=password('123'where user='root' and host='localhost';
mysql> flush privileges;

5.1.4 方法4:在忘记root密码的时候,可以这样

以windows为例:

  • 关闭正在运行的MySQL服务。
  • 打开DOS窗口,转到mysql\bin目录。
  • 输入mysqld –skip-grant-tables 回车。–skip-grant-tables 的意思是启动MySQL服务的时候跳过权限表认证。
  • 再开一个DOS窗口(因为刚才那个DOS窗口已经不能动了),转到mysql\bin目录。
  • 输入mysql回车,如果成功,将出现MySQL提示符 >。
  • 连接权限数据库: use mysql; 。
  • 改密码:update user set password=password(“123”) where user=”root”;(别忘了最后加分号) 。
  • 刷新权限(必须步骤):flush privileges; 。
  • 退出 quit。
  • 注销系统,再进入,使用用户名root和刚才设置的新密码123登录。

6 Mysql远程访问

首先确认防火墙开启3306端口,如果my.cnf文件配置有bind-address=127.0.0.1,用#注释掉。

6.1 改表法:

可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 “mysql” 数据库里的 “user” 表里的“host” 项,从“localhost”改称“%”

登录数据库

1
2
3
4
mysql> use mysql;
mysql> update user set host = ‘%’ where user = ‘root’;mysql> select host, user from user;         //列出host名和user名,查看修改。
mysql> flush privileges;      //刷新权限列表注:
mysql> flush privileges;          //使修改生效。

6.2 授权法(推荐)

例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。

1
mysql> GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

如果你想允许用户myuser从ip为192.168.1.3的主机连接到mysql服务器,并使用mypassword作为密码

1
mysql> GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword’ WITH GRANT OPTION;

下面的语句表示将 discuz 数据库的所有权限授权给 myuser 这个用户,允许 myuser 用户在 123.123.123.123 这个 IP 进行远程登陆,并设置 myuser 用户的密码为 mypassword

1
mysql> GRANT ALL PRIVILEGES ON discuz.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword’ WITH GRANT OPTION;

注:代表所有数据库,discuz. 代表discuz数据库。

7 Mysqlbinlog用法

注意:用mysqlbinlog前一定要加上数据库安装路径,否则默认情况下调用的是系统默认安装的mysql中的mysqlbinlog

7.1 查看二进制日志

查看二进制日志mysql-bin.000014

1
/usr/local/mysql/bin/mysqlbinlog /usr/local/mysql/data/mysql-bin.000014

7.2 转换二进制日志生成普通日志

转换mysql-bin.000014f.log,转换到88624位置为止。

1
/usr/local/mysql/bin/mysqlbinlog  -v --stop-position=88624 /usr/local/mysql/data/mysql-bin.000014 > /home/f.log
-------------本文结束感谢您的阅读-------------

本文标题:Mysql命令示例

文章作者:OperationMAN

发布时间:2018年08月31日 - 17:08

最后更新:2022年06月04日 - 10:06

原始链接:https://kxinter.gitee.io/2018/08/31/Mysql命令示例/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

坚持原创技术分享,您的支持将鼓励我继续创作!