更新13.1 设置更改root密码13.2 连接mysql13.3 mysql常用命令

本文详细介绍了MySQL数据库的管理与操作方法,包括修改root密码、定义环境变量、连接数据库、用户管理、SQL语句使用、数据库备份与恢复等关键内容。

更改mysql数据库的root密码

修改root密码命令为

/usr/local/mysql/bin/mysql -uroot

定义环境变量

临时定义环境变量

export PATH=$PATH:/usr/local/mysql/bin/ //临时定义环境变量

echo $PATH //显示环境变量

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/tmp/:/root/bin:/usr/local/mysql/bin/

永久定义环境变量

vim /etc/profile

增加代码

export PATH=$PATH:/usr/local/mysql/bin/

export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/local/mysql/bin:/root/bin:/usr/local/mysql/bin

source /etc/profile //生效文件

登录MySQL

指定使用账号root密码登录,-u后面为账号,-p后面可以跟密码;

mysql -uroot -p

mysql -uroot -p'123456789'

设置密码

在空密码下指定密码为123456

mysqladmin -uroot password '123456'

 

在有密码的情况下修改密码

旧密码123456修改为123456789

mysqladmin -uroot -p'123456' password '123456789'

注意:不是在登录mysql里面修改,mysqladmin不是mysql命令,而是Linux系统命令;

忘记root密码

编辑配置文件

vim /etc/my.cnf

 

在[mysqld]下增加一行skip-grant

预览

 

[mysqld]

skip-grant //跳过密码验证

datadir=/data/mysql

socket=/tmp/mysql.sock

重启mysql服务

/etc/init.d/mysqld restart

登录mysql修改

mysql -uroot

use mysql;

update user set password=password('123456') where user='root';

取消配置文件配置

vim /etc/my.cnf

取消代码

skip-grant

重启mysql服务

/etc/init.d/mysqld restart

测试验证

mysql -uroot -p'123456'

使用密码123456登录成功


连接MySQL

常用的连接命令

mysql -uroot -p'123456' //连接本机

mysql -uroot -p'123456' -h127.0.0.1 -P3306 //连接远程机器127.0.0.1为ip,3306为端口

mysql -uroot -p'123456' -S/tmp/mysql.sock //使用sock方式连接,只适合本机连接

mysql -uroot -p'123456' -e "show databases" //列出mysql的所有数据库,用于shell命令

mysql -uroot -p'123456' -e "show databases"

Warning: Using a password on the command line interface can be insecure.

+--------------------+

| Database |

+--------------------+

| information_schema || mysql || performance_schema || test |

+--------------------+


MySQL常用命令

 

必须登录mysql才能使用的命令

使用命令后面必须加;号

 

查询库 show databases;

切换库 use mysql;

查看库里的表 show tables;

查看表里的字段 desc tb_name;

查看建表语句 show create table tb_name\G;

查询mysql所有用户和限制主机select user,host from user;

查询指定用户的权限show grants for '用户名'@'限制ip';

查看当前用户 select user();

查看当前使用的数据库 select database();

创建库 create database db1;

创建表 use db1; create table t1(id int(4), name char(40));

查看当前数据库版本 select version();

查看数据库状态 show status;

查看各参数 show variables; show variables like 'max_connect%';

修改参数 set global max_connect_errors=1000;

查看队列 show processlist; show full processlist;

查询库

mysql> show databases;

 

+--------------------+

| Database |

+--------------------+

| information_schema || mysql || performance_schema || test |

+--------------------+

4 rows in set (0.00 sec)

切换库

mysql> use mysql;

Database changed

查看库里面的表

mysql> show tables;

 

+---------------------------+

| Tables_in_mysql |

+---------------------------+

| columns_priv || db || event || func || general_log || help_category || help_keyword || help_relation || help_topic || innodb_index_stats || innodb_table_stats || ndb_binlog_index || plugin || proc || procs_priv || proxies_priv || servers || slave_master_info || slave_relay_log_info || slave_worker_info || slow_log || tables_priv || time_zone || time_zone_leap_second || time_zone_name || time_zone_transition || time_zone_transition_type || user |

+---------------------------+

28 rows in set (0.00 sec)

查看表里面的字段

 

注意:格式是

desc [表名];

desc user;

mysql> desc user;

 

+------------------------+-----------------------------------+------+-----+-----------------------+-------+

| Field | Type | Null | Key | Default | Extra |

+------------------------+-----------------------------------+------+-----+-----------------------+-------+

| Host | char(60) | NO | PRI | | || User | char(16) | NO | PRI | | |

| Password | char(41) | NO | | | || Select_priv | enum('N','Y') | NO | | N | |

| Insert_priv | enum('N','Y') | NO | | N | || Update_priv | enum('N','Y') | NO | | N | |

| Delete_priv | enum('N','Y') | NO | | N | || Create_priv | enum('N','Y') | NO | | N | |

| Drop_priv | enum('N','Y') | NO | | N | || Reload_priv | enum('N','Y') | NO | | N | |

| Shutdown_priv | enum('N','Y') | NO | | N | || Process_priv | enum('N','Y') | NO | | N | |

| File_priv | enum('N','Y') | NO | | N | || Grant_priv | enum('N','Y') | NO | | N | |

| References_priv | enum('N','Y') | NO | | N | || Index_priv | enum('N','Y') | NO | | N | |

| Alter_priv | enum('N','Y') | NO | | N | || Show_db_priv | enum('N','Y') | NO | | N | |

| Super_priv | enum('N','Y') | NO | | N | || Create_tmp_table_priv | enum('N','Y') | NO | | N | |

| Lock_tables_priv | enum('N','Y') | NO | | N | || Execute_priv | enum('N','Y') | NO | | N | |

| Repl_slave_priv | enum('N','Y') | NO | | N | || Repl_client_priv | enum('N','Y') | NO | | N | |

| Create_view_priv | enum('N','Y') | NO | | N | || Show_view_priv | enum('N','Y') | NO | | N | |

| Create_routine_priv | enum('N','Y') | NO | | N | || Alter_routine_priv | enum('N','Y') | NO | | N | |

| Create_user_priv | enum('N','Y') | NO | | N | || Event_priv | enum('N','Y') | NO | | N | |

| Trigger_priv | enum('N','Y') | NO | | N | || Create_tablespace_priv | enum('N','Y') | NO | | N | |

| ssl_type | enum('','ANY','X509','SPECIFIED') | NO | | | || ssl_cipher | blob | NO | | NULL | |

| x509_issuer | blob | NO | | NULL | || x509_subject | blob | NO | | NULL | |

| max_questions | int(11) unsigned | NO | | 0 | || max_updates | int(11) unsigned | NO | | 0 | |

| max_connections | int(11) unsigned | NO | | 0 | || max_user_connections | int(11) unsigned | NO | | 0 | |

| plugin | char(64) | YES | | mysql_native_password | || authentication_string | text | YES | | NULL | |

| password_expired | enum('N','Y') | NO | | N | |

+------------------------+-----------------------------------+------+-----+-----------------------+-------+

43 rows in set (0.00 sec)

查看创建表的语句

show create table user\G;

列出所有用户和限制ip

select user,host from user;

mysql> select user,host from user;

+------+---------------+

| user | host |

+------+---------------+

| root | 127.0.0.1 || repl | 192.168.188.2 |

| root | ::1 || | localhost |

| root | localhost || | shu001 |

| root | shu001 |

+------+---------------+

7 rows in set (0.00 sec)

查询指定用户的授权信息

 

这条命令与上一条命令配合使用select user,host from user;

先列出所有用户的名称与限制主机名,然后使用这条命令查询权限

show grants for '用户名'@'限制ip';

mysql> show grants for 'root'@'127.0.0.1';

+---------------------------------------------------------------------+

| Grants for root@127.0.0.1 |

+---------------------------------------------------------------------+

| GRANT ALL PRIVILEGES ON *.* TO 'root'@'127.0.0.1' WITH GRANT OPTION |

+---------------------------------------------------------------------+

1 row in set (0.00 sec)

查看当前用户

select user();

mysql> select user();

 

+----------------+

| user() |

+----------------+

| root@localhost |

+----------------+

1 row in set (0.00 sec)

查看当前使用的数据库

select database();

 

mysql> select database();

+------------+

| database() |

+------------+

| mysql |

+------------+

1 row in set (0.00 sec)

创建库

mysql> create database db1;

 

Query OK, 1 row affected (0.00 sec)

mysql> show databases;

 

+--------------------+

| Database |

+--------------------+

| information_schema || db1 || mysql || performance_schema || test |

+--------------------+

5 rows in set (0.00 sec)

创建表

use db1; //切换到db1库

create table t1(`id` int(4),`name` char(40)); //注意:中间使用的是反引号,创建表t1

查看数据库版本

mysql> select version();

 

+-----------+

| version() |

+-----------+

| 5.6.36 |

+-----------+

1 row in set (0.00 sec)

查看数据库状态

show status;

查看参数

show variables;

show variables like 'max_connect%'; //模糊查询max_connect,后面必须加%

set global max_connect_errors=1000; //修改max_connect_errors参数为1000

查看队列

show processlist;

show full processlist; //查看哪些用户在连接数据库(完整版)

---------------------------------------------------------------------------------------------------------------

13.4 mysql用户管理13.5 常用sql语句13.6 mysql数据库备份恢复

MySQL用户管理

创建用户

grant all on *.* to 'user1'@'localhost' identified by '123456';

grant all on db1.* to 'user2'@'%' identified by'123456'; //创建user2用户,所有ip都能登录,指定权限为db1库下的所有表;@ 表示所有的IP

grant all on *.* to 'user1'@'127.0.0.1' identified by '123456';  //创建1用户,所有权限 前面表示库名所有库 客户端IP 密码123456

mysql -uuser1 -p123456 -h127.0.0.1  因为我指定soke所以必须-h

• grant SELECT,UPDATE,INSERT on db1.* to 'user2'@'192.168.133.1' identified by 'passwd';  //有select update insert  db1权限 user2 来源IP

• grant all on db1.* to 'user3'@'%' identified by 'passwd';  //所有权限db1库  所有来源IP

• show grants;  //查看你所有的授权

• show grants for user2@192.168.133.1;

flush privileges;

刷新授权

 

.:表示所有库和表;

user1:用户名;

localhost:登录ip,默认localhost为本机登录ip,也可以使用%代表所有;

查看当前用户权限

show grants;

show grants for 'user1'@'%'; //查询用户user1,限制ip为所有的权限;


常用的sql语句

 

select:查看;

insert:插入;

update:更改;

drop:删除;

查看:

统计指定表的行数;

select count(*) from mysql.user; //count()表示统计行数;*代表所有;

+----------+

| count(*) |

+----------+

| 9 |

+----------+

1 row in set (0.01 sec)

查看指定表的内容

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 into db1.t1 values (1,'abc'); //在db1.t1中,插入两条数据,第一条为数字1,第二条为字符串abc;

mysql>select * from db1.t1;

+------+------+

| id | name |

+------+------+

| 1 | abc |

+------+------+

1 row in set (0.00 sec)

更改数据

update db1.t1 set name='aaa' where id=1; //将db1.t1的id为1的 name内容更改为字符串aaa

mysql> select * from db1.t1;

+------+------+

| id | name |

+------+------+

| 1 | aaa || 2 | 123 |

+------+------+

2 rows in set (0.00 sec)

清空一个表的内容

truncate table db1.t1;

truncate table db1.t1; //将db1.t1表的内容全部清空掉;

select * from db1.t1; //查询db1.t1的内容

Empty set (0.00 sec)

删除

drop table db1.t1; //删除t1表

drop database db1; //删除数据库db1


MySQL数据库的备份与恢复

备份指定数据库

mysqldump -uroot -p'123456' mysql > /tmp/backup/mysqlbak.sql //将名为mysql的数据库备份到指定目录下

恢复数据库

mysql -uroot -p'123456' mysql < /tmp/backup/mysqlbak.sql //将指定目录下的备份文件恢复为mysql数据库

备份表

mysqldump -uroot -p'123456' mysql user >/tmp/backup/user.sql //将mysql下的user表备份到指定目录

恢复表

mysql -uroot -p'123456' mysql < /tmp/backup/user.sql //将指定目录下的表恢复到mysql库下

备份所有数据库

mysqldump -uroot -p'123456' -A > /tmp/backup/123.sql //将所有数据库备份到指定目录

只备份表结构

mysqldump -uroot -p'123456' -d mysql > /tmp/backup/mysql-biaojg.sql


 

 

常用SQL语句

 

• select count(*) from mysql.user;   //查看有多少行

• select * from mysql.db\G;    //查看mysqldb

• select db from mysql.db;

• select db,user from mysql.db;

• select * from mysql.db where host like '192.168.%'; //模糊查询

• insert into db1.t1 values (1, 'abc');

• update db1.t1 set name='aaa' where id=1;

• truncate table db1.t1;    //清空表里面的内容。表结构还留着

• drop table db1.t1;       //壳表 全部删除

• drop database db1;

show create table user\G;   //查看引擎

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值