MySQL常用操作
一、更改MySQL数据库root的密码
首次进入数据库是不需要密码的,
# /usr/local/mysql/bin/mysql -uroot

用绝对路径进去不方便,所以我们把它加入环境变量中,
# PATH=$PATH:/usr/local/mysql/bin
避免开机后失效,所以把它加入到开机加载,
# echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
# source /etc/profile //使文件生效
# mysql -uroot //设置成功如下图所示

给root用户设置密码:
# mysqladmin -uroot password '000000'
二、连接数据库
连接网络中某一个主机上的MySQL,如下所示:
# mysql -uroot -p123456 -h127.0.0.1 -P3306 // -P用来指定远程主机 MySQL的绑定端口,默认是3306,-h用来指定远程主机的IP。
三、MySQL基本操作的常用命令
1、查询当前库
mysql> show databases;
2、查询某个库的表
mysql> use mysql;
mysql> show tables;
3、查看某个表的全部字段
mysql> desc db; \\或者下面这个命令,下面这个更详细一些:
mysql> show create table db\G;
4、查看当前是哪个用户
mysql> select user();
5、查看当前所使用的数据库
mysql> select database();
6、创建一个新的库
mysql> create database db1;
7、创建一个新表
mysql> use db1;
mysql> create table t1(`id` int(4),`name` char(40));
8、查看当前数据库版本
mysql> select version();
9、查看MySQL的当前状态
mysql> show status;
10、查看MySQL的参数
mysql> show variables;
11、修改MySQL的参数
mysql> show variables like 'max_connect%';
+--------------------+-------+
| Variable_name | Value |
+--------------------+-------+
| max_connect_errors | 100 |
| max_connections | 151 |
+--------------------+-------+
2 rows in set (0.00 sec)
mysql> set global max_connect_errors = 1000;
Query OK, 0 rows affected (0.00 sec)
mysql> show variables like 'max_connect_errors';
+--------------------+-------+
| Variable_name | Value |
+--------------------+-------+
| max_connect_errors | 1000 |
+--------------------+-------+
1 row in set (0.00 sec) \\这是临时修改,要想永久生效需修改my.cnf文件。
12、查看当前MySQL服务器的队列
mysql> show processlist;
13、创建一个普通用户并授权
mysql> grant all on *.* to user1 identified by '123456';
\\all表示所有的权限,.有两个*,前者表示所有的数据库,后者表示所有的表,identified by后面跟密码,用单引号括起来。
这里的user1特指localhost的user1,如果给网络上其他机器上的某个用户授权,则要执行以下命令:
mysql> grant all on db1.* to 'user2'@'192.168.200.20' identified by '000000';
\\其中,用户和主机的IP之间有一个符号@。另外,命令中主机IP可以用%代替,表示所有主机,如下所示:
mysql> grant all on db1.* to 'user3'@'%' identified by '112233';
四、常用的SQL语句
1、查询语句:
mysql> select count(*) from mysql.user;
\\mysql.user表示MySQL库的user表,count(*)表示表中共有多少行。
mysql> select * from mysql.db;
\\它表示查询MySQL库的db表中的所有数据。也可以查询单个或多个字段。
mysql> select db from mysql.db;
mysql> select db,user from mysql.db;
2、插入一行
mysql> insert into db1.t1 values (1,'abc');
mysql> select * from db1.t1;
3、更改表的某一行
mysql> update db1.t1 set name='aaa' where id=1;
mysql> select * from db1.t1;
4、清空某个表的数据
mysql> truncate table db1.t1;
mysql> select * from db1.t1;
5、删除表
mysql> drop table db1.t1;
6、删除数据库
mysql> drop database db1;
五、MySQL数据库的备份与恢复
1、MySQL备份
# mysqldump -uroot -p'000000' mysql >/tmp/mysql.sql
2、MySQL恢复
# mysql -uroot -p'000000' mysql </tmp/mysql.sql

浙公网安备 33010602011771号