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 | use 数据库名 //修改要恢复的数据库 |
例如:
1 | source /home/123sql; |
5 修改用户密码
5.1 修改root密码
5.1.1 方法1: 用SET PASSWORD命令
首先登录MySQL。
格式:mysql> set password for 用户名@localhost = password(‘新密码’);
例子:
1 | 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 | use mysql; |
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 | mysql> use mysql; |
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.000014
为f.log
,转换到88624
位置为止。
1 | /usr/local/mysql/bin/mysqlbinlog -v --stop-position=88624 /usr/local/mysql/data/mysql-bin.000014 > /home/f.log |