13.1 更改root密码
13.1.1 更改密码
默认是没有密码的。
/etc/init.d/mysql start 启动mysql
ps aux |grep mysql 查看是否启动了
mysql -uroot 报找不到指令错误
因为mysql命令不在环境变量中,可以使用如下方法:
ls /usr/local/mysql/bin/mysql
1)用绝对地址
/usr/local/mysql/bin/mysql -uroot
更改环境变量PATH,增加mysql绝对路径
2)暂时加入环境变量
export PATH=$PATH:/usr/local/mysql/bin/
3)永久生效,修改profil文件,,增加命令句。
vim /etc/profile
export PATH=$PATH:/usr/local/mysql/bin/
source /etc/profile //更新一下即可
mysqladmin -uroot password '123456' //设置密码123456
提示了:你将密码在当前命令行显示出来了,不×××全
mysql -uroot -p123456 //使用密码123456登陆
mysqladmin -uroot -p'123456' password '567890' 更改密码为567890
13.1.2 密码重置 修改 vi /etc/my.cnf //增加一行skip-grant忽略授权
重启mysql服务 /etc/init.d/mysqld restart mysql -uroot 不需要密码即可登陆 登陆后切换库 use mysql; select * from user; 这个表存放了用户/密码/权限等 select password from user; 选出密码 使用命令更改root密码为aminglinux update user set password=password('aminglinux') where user='root'; 修改配置文件将忽略授权取消 vi /etc/my.cnf //删掉增加的行skip-grant忽略授权 /etc/init.d/mysqld restart 重启mysql服务 mysql -uroot -paminglinux 使用新密码登陆
13.2 连接Mysql mysql -uroot -paminglinux //默认也是指定了socket连接 mysql -uroot -paminglinux -S/tmp/mysql.sock //指定socket连接 mysql -uroot -paminglinux -h127.0.0.1 -P3306 //指定IP端口连接,默认3306 mysql -uroot -paminglinux -e "show databases" //登陆把所有的数据库列出来
13.3 Mysql常用命令 库由表组成,表由字段组成。 查询库 show databases; 切换库 use mysql; 查看库里的表 show tables; 查看表里的字段 desc user; user为表的名字 查看建表语句 show create table user\G user为表的名字; \G竖排显示 加\G后,其实就不用加分号了。 它本身就是一个结束符号。 加了分号后,mysql以为我们又敲了另外一个命令,而另外一个命令是空,就报了这个ERROR 查看当前用户 select user(); //分别查看一下用户名 mysql -uroot -paminglinux -h192.168.188.128 -P3306 //aming-01 mysql -uroot -paminglinux -h127.0.0.1 -P3306 //localhost 查看当前使用的数据库 select database();
创建库 create database db1; //db1为新建的库
创建表 use db1; create table t1(id
int(4), name
char(40)); //t1为库db1的表
查看当前数据库版本 select version();
查看数据库状态 show status;
查看各参数 show variables; show variables like 'max_connect%';
修改参数 set global max_connect_errors=1000; //临时的,要永久的修改配置文件
查看队列 show processlist; show full processlist;
13.4 Mysql 用户管理 默认有一个root用户。 //创建user1用户,授权所有的权限密码是123456,限制在localhost登录 grant all on . to 'user1' @'localhost' identified by '123456'; grant完之后,还要执行 flush privileges; mysql -uuser1 -p123456 -h127.0.0.1 -P3306 登陆一下 mysql -uuser1 -p123456 也可以,因为授权了localhost,localhost就是针对socket 针对具体权限授权 grant SELECT,UPDATE,INSERT on db1.* to 'user2'@'192.168.188.1' identified by '123456'; 针对所有ip授权 grant all on db1.* to 'user3'@'%' identified by 'passwd'; 查看授权 show grants; 针对用户查看授权 查看权限后可以复制内容授权给另一个用户或者地址 show grants for user2@192.168.188.2;
13.4 Mysql常用语句 select count(*) from mysql.user; //查看mysql的user表的函数 select * from mysql.db\G //查看mysql的所有内容 \G select db from mysql.db; //查看表的字段 select db,user from mysql.db; //查看表的两个字段 select * from mysql.db where host like '192.168.%'; //模糊查看 select * from db1.t1\G insert into db1.t1 values (1, 'abc'); //插入字段ID+name update db1.t1 set name='aaa' where id=1; //更新字段ID为1的内容 delete from db1.t1 where id=1; //删除ID=1的表 truncate table db1.t1; //清空表内容,但是字段还存在 drop table db1.t1; //删除表 drop database db1; //删除库
13.4 Mysql 数据库备份与恢复 备份库到文件中 mysqldump -uroot -paminglinux mysql > /tmp/mysql.sql mysql -uroot -paminglinux -e "create database mysql2" //创建一个库mysql2 恢复库 mysql -uroot -paminglinux mysql2 < /tmp/mysql.sql 备份表 mysqldump -uroot -paminglinux mysql user > /tmp/user.sql //备份库user表 恢复表 mysql -uroot -paminglinux mysql < /tmp/user.sql 备份所有库 mysqldump -uroot -p -A >/tmp/123.sql 只备份表结构 mysqldump -uroot -paminglinux -d mysql > /tmp/mysql.sql