常用命令总结:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
create database name; 创建数据库
use databasename; 选择数据库
drop database name; 直接删除数据库,不提醒
show tables; 显示表
describe tablename; 表的详细描述
select 中加上distinct去除重复字段
显示当前mysql版本和当前日期
select version(),current_date;
修改mysql中root的密码:
shell>mysql -u root -p
mysql> update user set password=password(“root123″) where user=’root’;
mysql> flush privileges 刷新权限
mysql>use dbname; 打开数据库
mysql>show databases; 显示所有数据库
mysql>show tables; 显示数据库mysql中所有的表
mysql>desc user; 显示表mysql数据库中user表的列信息)
grant
创建一个可以从任何地方连接到服务器的一个超管账户,必须分配一个密码
mysql> grant all privileges on *.* to 'user_name'@'localhost' identified by 'password' ;
格式:grant select on 数据库.* to 用户名@登录主机 identified by “密码”
删除授权:
mysql> revoke all privileges on *.* from root@”%”;
mysql> delete from user where user=”root” and host=”%”;
mysql> flush privileges;
重命名表:
mysql > alter table t1 rename t2;
备份:
mysqldump -hhostname -uusername -ppassword databasename > backup.sql;
恢复:
mysql -hhostname -uusername -ppassword databasename< backup.sql;
|
在这里举两个典型案例,MySQL 5.6 和 MySQL 5.7 在初始化数据时候的安装差异。
MySQL 5.6:初始化数据时需要进到家目录的 script 目录下
执行:
1
2
|
/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql/
--datadir=/data/mysql --defaults-file=/etc/my.cnf --user=mysql
|
此时数据库密码为空。
MySQL 5.7:初始化数据时需要进到家目录的 bin 目录下
执行:
1
2
|
/usr/local/mysql/bin/mysqld --user=mysql --datadir=/data/mysql
--basedir=/usr/local/mysql/ --initialize
|
已然已经废弃了使用 mysql_install_db 这个命令进行初始化数据的操作了。
注:--initialize 会自动生成密码在 error log 里面。如果加 --initialize-insecure 密码为空