本文首发于烂泥行天下。
1、连接数据库的格式
mysql -h IP -u用户名 -p密码;
1.1连接远程数据库
mysql -h 192.168.1.214 -uroot -p123456
也可写成:
mysql -h 192.168.1.214 -u root -p 123456
1.2连接本地数据库
mysql -uroot -p123456
也可写成:
mysql -u root -p 123456
2、查看数据库版本
mysql> status;
3、查看数据库
show databases;
4、查看数据库中的用户
select user from user;
5、更改用户密码
5.1更改本地root用户密码
格式:mysqladmin -u用户名 -p旧密码 password 新密码
mysqladmin -uroot -p123456 password ilanni
注意:新安装的mysql数据库,由于开始时root没有密码,所以在第一次修改root用户密码时,-p旧密码一项就可以省略。如下:
mysqladmin -uroot password 123456
5.2更改远程root用户密码
mysqladmin -h 192.168.1.214 -uroot -p123456 password ilanni
5.3更改普通用户密码
格式:update user set password=PASSWORD('new_password') where user='username';
update user set password=PASSWORD('123456') where user='ailanni';
FLUSH PRIVILEGES;--立即生效,不需要重启
6、创建数据库
create database ailanni;
此时可在OS上查看已经创建的数据库,如下:
ps aux |grep mysqld 查看mysql的运行所在的位置,以及数据文件存放位置
ls /usr/local/mysql/data
7、使用数据库
use ailanni;
8、删除数据库
drop database ailanni;
此时会同时会删除OS上的数据库文件夹,如下:
ls /usr/local/mysql/data
9、创建数据库的表
create table ilannitable(id int(4));
10、查看数据库的表
show tables;
11、显示数据库表的结构
describe ilannitable;
12、向表中插入数据
insert into ilannitable values(1);
insert into ilannitable values(2);
13、删除插入的数据
delete from ilannitable where id='1';
14、清空表
delete from ilannitable;
15、删除表
drop table ilannitable;
16、创建用户
格式:create user username@ip identified by 'password';
create user 'ailanni'@'%' identified by 'ailanni';
17、删除用户
drop user alianni;
18、用户授权
格式:grant privileges on database.table to user@ip identified by ‘password’;
注意该命令可以同时创建用户并授权,也就是说我们不需要先创建用户。
privileges表示权限。
grant all on ailanni.* to 'ailanni'@'%' identified by 'ailanni';
FLUSH PRIVILEGES;
privileges权限分类:
all: 允许做任何事(和root一样)。这个平时使用的比较多,实际生产环境中就是一个用户对一个数据库。
usage: 只允许登录–其它什么也不允许做。
alter: 修改已存在的数据表(例如增加/删除列)和索引。
create: 建立新的数据库或数据表。
delete: 删除表的记录。
drop: 删除数据表或数据库。
index: 建立或删除索引。
insert: 增加表的记录。
select: 显示/搜索表的记录。
update: 修改表中已存在的记录。
replication slave: 权限应授予从服务器所使用的将当前服务器连接为主服务器的账户。没有这个权限,从服务器不能发出对主服务器上的数据库所发出的更新请求。这个权限在配置mysql主从时,会使用到。
注意在给用户授权时,一定不要这样授权:
grant all on *.* to 'ailanni'@'%' identified by 'ailanni';
因为这样就相当于把ailanni这个用户授予最高权限,具有管理所有数据库的能力,相当于root用户的权限。这样是非常不安全的。
19、查看用户权限
show grants for 'ailanni'@'%';
20、用户权限删除
格式:revoke privilege on database.table from user@ip identified by ‘password’;
revoke all on ailanni.* from 'ailanni'@'%' identified by 'ailanni';
21、数据库备份
格式:mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql;
mysqldump -h 192.168.1.214 -uroot -p123456 ailanni >ailanni.sql
22、数据库恢复
mysql -hhostname -uusername -ppassword databasename< backupfile.sql;
mysql数据库的恢复刚好和备份一反。
23、有关数据库用户及数据库的删除顺序
在删除数据库或者用户时,一定要先进行权限的删除。然后在进行数据库和用户的删除,否则会产生其他不可预知的错误。
24、mysql数据库的启动与关闭
24.1 源码编译安装
如果mysql是源码编译安装,我们可以通过mysqld_safe命令来启动,如下:
ls -l /usr/local/mysql/bin/
/usr/local/mysql/bin/mysqld_safe &
关闭mysql,可以通过kill命令,也可以使用pkill命令。
kill -9 mysqld_pid
pkill mysqld
24.2 rpm包安装
启动与关闭mysql,可以直接使用service命令,也可以直接在/etc/init.d/mysqld启动。如下:
注意源码编译安装,也可以通过上述命令启动与关闭mysql数据库。但是需要做相关的操作。