1.更改MySQL数据库的root密码
2.连接数据库
3.MySQL基本操作的常用命令
4.常用的SQL语句
5.MySQL 数据库的备份与恢复
常用MySQL操作
1.更改MySQL数据库的root密码
首次进入数据库不用密码,如下
# /usr/local/mysql/bin/mysql -uroot
Welcome ...
...
mysql> //exit或quit退出
把/usr/local/mysql/bin加入环境变量PATH中,如下
# PATH=$PATH:/usr/local/mysql/bin
//重启Linux系统会失效,所以写入开机加载的环境变量文件里
# echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
# source /etc/profile
# mysql -uroot
...
mysql>
root设置密码
# mysqladmin -uroot password ‘123456‘
warning: Using a password on the command line interface canbe insecure.
//提示在命令行下暴露了密码,不安全
登录
# mysql -uroot -p‘123456‘ //-p后面不能有空格,不加单引号有特殊符号的密码会报错,-p后不接密码为交互式输入密码
...
mysql>
2.连接数据库
连接(远程)数据库
# mysql -uroot -p -h192.168.188.128 -P3306
3.MySQL基本操作的常用命令
3.1 查询当前库
mysql> show database;
3.2 查询某个库的表
mysql> use mysql;
mysql> show tables;
3.3 查看某个表的全部字段
mysql> desc db;
另一条命令,信息详细且把建表语句全部列出来:
mysql> show create tables db\G; //G竖排显示
3.4 查看当前是哪个用户
mysql> select user();
3.5 查看当前所使用的数据库
mysql> select database();
3.6 创建一个新库
mysql> create database db1;
3.7 创建一个新表
mysql> use db1;
mysql> create table t1 (`id` int(4), `name` char(40));
id name
3.8 查看当前数据库的版本
mysql> select version();
3.9 查看MySQL的当前状态
mysql> show status;
3.10 查看MySQL的参数
mysql> show variables;
参数很多。其中很多参数是在/etc/my.cnf中定义的,有部分参数可以在线编辑。
3.11 修改MySQL的参数
举例,修改参数max_connect_errors
mysql> show variables like ‘max_connect%‘;
---
variable_name Value
max_connect_errors 100
max_connections 151
---
?
mysql> set global max_connect_errors = 1000;
ok
?
mysql> show variables like ‘max_connect_errors‘;
---
variable_name Value
max_connect_errors 1000
---
%为通配符,set global为临时修改,重启会失效。永久生效需在my.cnf中定义
3.12 查看当前MySQL服务器的队列
查看服务器队列在日常的管理工作中最为繁忙。可以看当前MySQL在干什么,也可以发现是否发生锁表。
mysql> show processlist;
3.13 创建一个普通用户并授权
mysql> grant all on *.* to user1 identified by ‘123456‘
//本机
mysql> grant all on db1.* to ‘user2‘@‘192.168.188.128‘ identified by ‘111222‘;
//网络中的其他机器上,
mysql> grant all on db1.* to ‘user2‘@‘%‘ identified by ‘111222‘;
//该符号%表示所有主机
all 表示所有的权限(如读、写、查询、删除等操作);
第一个*表示所有库,后者表示所有的表。
identified by后面跟密码,单引号引起;user1特指localhost上的user1
4.常用的SQL语句
4.1查询语句
mysql> select count(*) from mysql.user; //count(*)表示表*有的行数
?
mysql> select * from mysql.db; //表示mysql库中的db表
mysql> select db from mysql.db;
mysql> select db,user from mysql.db;
?
mysql> select * from mysql.db where host like ‘192.168.%‘;
4.2 插入一行
mysql> insert into db1.t1 values (1, ‘abc‘);
mysql> select * from db1.t1;
id name
1 abc
4.3 更改表的某一行
mysql> updata db1.t1 set name=‘aaa‘ where id=1;
mysql> select * from db1.t1
id name
1 aaa
4.4 清空某个表的数据
mysql> truncate table db1.t1;
mysql> select * from dbq.t1;
//为空
4.5 删除表
mysql drop table db1.t1;
4.6 删除数据库
mysql> drop database db1;
5.MySQL 数据库的备份与恢复
5.1 MySQL备份
# mysqldump -uroot -p‘123456‘ mysql >/tmp/mysql.sql
//备份mysql库
5.2 MySQL 恢复
# mysql -uroot -p‘123456‘ mysql </tmp/mysql.sql
出处:《跟阿铭学Linux》