13.1 设置更改root密码
13.2 链接mysql
13.3 mysql经常使用命令
13.4 mysql用户管理
13.5 经常使用sql语句
13.6 mysql数据库备份恢复
13.1 设置更改root密码
•
/usr/local/mysql/bin/mysql -uroot
• #更改环境变量PATH,增长mysql绝对路径,就可直接
mysql -uroot
export PATH=$PATH:/usr/local/mysql/bin/
#让该命令永久生效,将上面添加PATH的命令放到/etc/prefile文件里面,而后source /etc/prefile,让配置当即生效
mysql -uroot -p123456 #-p输入密码 ,密码正确进入mysql
#密码最好加上单引号,由于若是密码含有特殊字符便识别不了
mysqladmin -uroot password '123456'
#设置mysql的root用户密码
mysqladmin -uroot -p '123456' password '1234' #更改root密码
密码重置(
不知道密码
)
一、编辑mysql配置文件
vi /etc/my.cnf
#增长一行内容
skip-grant
#skip-grant 表示忽略受权,即不用用户名密码能够直接登陆
二、 重启mysql服务,让前面的配置生效
/etc/init.d/mysqld restart
三、登陆mysql,更改mysql库的用户密码表,达到从新设置密码的目的
mysql -uroot #登陆mysql
use mysql; #切换到mysql库
update user set
password=password('123456') where user='root'; #修改root密码为123456
四、编辑mysql配置文件,将增长的skip-grant删掉,而后重启mysqld服务
13.2 链接mysql
链接mysql的命令
mysql -uroot -p123456
#链接本机mysql
mysql -uroot -p123456 -h127.0.0.1 -P3306
#链接远程mysql,须要-h输入ip,还有-P指定端口
mysql -uroot -p123456 -S/tmp/mysql.sock
#经过-S指定socket文件进行连接
(只适用于本机)
mysql -uroot -p123456 -e “show databases”
#-e选项,不进入mysql对数据库的内容进行操做(
通常使用在shell脚本里面)
#不进入mysql将全部的数据库列出来
13.3 mysql经常使用命令
一、查询库
show databases;
二、切换库
use mysql;
三、 查看库里的表
show tables;
四、查看表里的字段
desc tb_name;
五、 查看建表语句
show create table tb_name\G;
#\G的做用是使数据排列整齐
六、 查看当前用户
select user();
#会将ip反解析成主机名,跟在用户名后面
七、查看当前使用的数据库
select databsase();
八、建立库
create database db1;
九、建立表
use db1;
create table t1(`id` int(4), `name` char(40));
十、查看查看建立表的语句
show create tables t1\G;
#mysql默认的字符集是latin1,能够修改,只须要在建立表的语句指定字符集,好比:
create table t1(`id` int(4), `name` char(40)) ENGINE=InnoDB DEFAULT CHARSET=utf8
#在不想执行的语句开头加上#号,语句便不执行
十一、删除表
drop table t1;
十二、查看当前数据库版本
select version();
1三、 查看数据库状态
show status;
1四、查看各参数
show variables; #查看全部参数
show variables like 'max_connect%';
#查看指定参数包含max_connect,
%表示通配
1五、修改参数
set global max_connect_errors=1000;
1六、查看队列
show processlist; #最后一列不完整
show full processlist; #加上full,最后一列完整列出
#使用mysql数据库后会在root目录下生成.mysql_history的文件,能够查看mysql命令历史
13.4 mysql用户管理
#grant语句是不会记录到命令历史里面的,由于不安全
grant语句说明:
#grant指定权限,@后面指定用户只能经过来源ip进行登陆或者localhost,identified by指定用户密码
#@指定localhost时,对应的是socket文件
grant all on *.* to 'user1'@'127.0.0.1 identified by 'passwd';
#建立mysql用户user1,设定密码为passwd,授于全部权限,限定只能经过127.0.0.1进行登陆
grant SELECT,UPDATE,INSERT on db1.* to 'user2'@'192.168.233.1' identified by 'passwd';
#建立用户user2,密码为passwd,授予容许在db1库查,改,增的权限,限定只能192.168.233.1进行登陆
grant all on db1.* to 'user3'@'%' identified by 'passwd'
#%表示通配,这里指的是全部的ip
#建立user3,密码为passwd,授于全部权限,容许全部ip进行登陆
show grants; #查看当前用户的权限语句
show grants for user2@192.168.233.1;
#查看指定用户的受权语句
退出mysql的三种方式:
一、quit
二、exit
三、CTRL+D
13.5 经常使用sql语句
一、select查看语句
select count(*) from mysql.user;
#count指的是行数,库和表之间用"."点进行隔开
#查看mysql库中user表的行数
当使用select * from的操做时,(
建议少用这个*操做)
mysql库里面全部的表默认使用的引擎是MyISAM,该引擎会自动统计表的行数,因此就算用*操做时查询会快一点;
可是
其余库里面全部的表默认使用的引擎是InnoDB,用*操做时会很慢,很消耗内存。
select * from mysql.db;
#这里的*指的是全部内容
#查看mysql库的db表的全部内容
select db from mysql.db;
#查看mysql库的db表的db字段
select db,user from mysql.db;
#查看mysql库的db表的db字段和user字段
#多个字段查询用逗号隔开便可","
select * from mysql.db where host like '192.168.%';
#模糊查询,查看mysql库的db表中与192.168.%有关的内容
二、insert插入语句
insert into db1.t1 values (1, 'abc');
#在db1库的t1表内插入数据(1,'abc')
desc db1.t1;
insert into db1.t1 values (1, 'abc');
select * from db1.t1;
三、update更改语句
update db1.t1 set name='aaa' where id=1;
#更改db1库t1表内id=1的行的name字段为aaa
#where前面的条件是查找,后面的条件是替换
四、delete删除表内容
delete from db1.t1 where id=2;
#删除db1库t1表内id=2的行
五、truncate清空表内容
truncate table db1.t1;
#将db1库t1表的内容清空
六、drop删除表或库
drop table db1.t1;
#删除db1.t1表
drop database db1;
#删除db1库
delete、truncate、drop的区别
一、delete、truncate只是删除表的内容,表结构没有变化
二、drop直接删除表,表结构发生变化
13.6 mysql数据库备份恢复
#备份用mysqldump,恢复用mysql
一、备份库
语法:
mysqldump -uroot -p密码 备份的库名
mysqldump -uroot -p123456 mysql > /tmp/mysql.sql
#将备份的mysql库重定向到/tmp/mysql.sql文件内
二、恢复库
mysql -uroot -p123456 mysql < /tmp/mysql.sql
演示:建立一个新的库mysql2,而后将备份的mysql库数据传到mysql2库
mysql -uroot -p123456 -e "create database mysql2" #建立mysql2库
mysql -uroot -p123456 mysql < /tmp/mysql.sql
将备份的/tmp/mysql.sql 文件反向重定向到mysql2库
三、备份表
mysqldump -uroot -p123456 mysql user > /tmp/user.sql文件
#备份mysql库的user表到/tmp/user.sql
四、恢复表
mysql -uroot -p123456 mysql < /tmp/user.sql
#要恢复表只须要写表所在的库名便可
五、备份全部库-A
mysqldump -uroot -p123456 -A >/tmp/123.sql
#-A表示全部all的意思
#备份因此库到/tmp/123.sql文件
六、只备份表结构-d
mysqldump -uroot -p123456 -d mysql > /tmp/mysql.sql
#备份mysql库中的表结构
扩展
13.1 设置更改root密码
13.2 链接mysql
13.3 mysql经常使用命令
13.4 mysql用户管理
13.5 经常使用sql语句
13.6 mysql数据库备份恢复
13.1 设置更改root密码
•
/usr/local/mysql/bin/mysql -uroot
• #更改环境变量PATH,增长mysql绝对路径,就可直接
mysql -uroot
export PATH=$PATH:/usr/local/mysql/bin/
#让该命令永久生效,将上面添加PATH的命令放到/etc/prefile文件里面,而后source /etc/prefile,让配置当即生效
mysql -uroot -p123456 #-p输入密码 ,密码正确进入mysql
#密码最好加上单引号,由于若是密码含有特殊字符便识别不了
mysqladmin -uroot password '123456'
#设置mysql的root用户密码
mysqladmin -uroot -p '123456' password '1234' #更改root密码
密码重置(
不知道密码
)
一、编辑mysql配置文件
vi /etc/my.cnf
#增长一行内容
skip-grant
#skip-grant 表示忽略受权,即不用用户名密码能够直接登陆
二、 重启mysql服务,让前面的配置生效
/etc/init.d/mysqld restart
三、登陆mysql,更改mysql库的用户密码表,达到从新设置密码的目的
mysql -uroot #登陆mysql
use mysql; #切换到mysql库
update user set
password=password('123456') where user='root'; #修改root密码为123456
四、编辑mysql配置文件,将增长的skip-grant删掉,而后重启mysqld服务
13.2 链接mysql
链接mysql的命令
mysql -uroot -p123456
#链接本机mysql
mysql -uroot -p123456 -h127.0.0.1 -P3306
#链接远程mysql,须要-h输入ip,还有-P指定端口
mysql -uroot -p123456 -S/tmp/mysql.sock
#经过-S指定socket文件进行连接
(只适用于本机)
mysql -uroot -p123456 -e “show databases”
#-e选项,不进入mysql对数据库的内容进行操做(
通常使用在shell脚本里面)
#不进入mysql将全部的数据库列出来
13.3 mysql经常使用命令
一、查询库
show databases;
二、切换库
use mysql;
三、 查看库里的表
show tables;
四、查看表里的字段
desc tb_name;
五、 查看建表语句
show create table tb_name\G;
#\G的做用是使数据排列整齐
六、 查看当前用户
select user();
#会将ip反解析成主机名,跟在用户名后面
七、查看当前使用的数据库
select databsase();
八、建立库
create database db1;
九、建立表
use db1;
create table t1(`id` int(4), `name` char(40));
十、查看查看建立表的语句
show create tables t1\G;
#mysql默认的字符集是latin1,能够修改,只须要在建立表的语句指定字符集,好比:
create table t1(`id` int(4), `name` char(40)) ENGINE=InnoDB DEFAULT CHARSET=utf8
#在不想执行的语句开头加上#号,语句便不执行
十一、删除表
drop table t1;