MySQL常用操作

    xiaoxiao2022-07-03  183

    一. 设置更改root密码

     

    1. 把mysql命令加入环境变量PATH

     

    # echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile

     

    2. 重启服务/重新加载profile文件

     

    # /etc/inin.d/mysqld  restart

    # source /etc/profile

     

    3. 设置root密码

     

    mysqladmin -uroot password 'mysql'   //单引号可加可不加,但又特殊字符最好加上/-u指定用户

     

    4.测试登录

     

    mysql -uroot -p              //-p选项后面可跟密码,也可不跟密码,不跟密码是交互式登录

     

     

    二. 更改密码

     

    如果知道root密码,可以使用mysqladmin直接更改密码

    # mysqladmin -uroot -p'mysql' password 'abcsss'   

     

    如果不知道root密码,需要按如下方法重置mysql密码

     

    1.在/etc/my.cnf配置文件里添加 skip-grant

     

    2.mysql -uroot   ---进入到库

     

    3.use  mysql   ----切换到库

     

    4.update user set password=password('abcd') where user='root';   --更改密码

     

    5.编辑/etc/my.cnf,取消skip-grant

     

    6./etc/init.d/mysqld   restart    ----重启mysql服务

     

    三. 连接mysql 

     

    1. 连接本地的数据库

     

    # mysql -uroot -pmysql

     

    2.连接远程

     

    # mysql -uroot -pmysql -h127.0.0.1 -P3306   // --P指定端口 --h指定host(IP)

     

    3.通过sock连接

     

    mysql -uroot -pmysql -S/tmo/mysql.sock   //-S指定sock文件

     

    4. 连接mysql后运行命令(多数使用在shell脚本里)

     

    mysql -uroot -pmysql -e "show databases"    //查看都有什么数据库

     

     

    四. mysql常用命令

     

    库是由表组成的。表由字段组成的    库---表--字段

    > show databases;  //--查看都有什么数据库

     

     

    use mysql ;   ---切换到那个库

     

    show tables;   - --查看库里的表

     

    desc user; 查看字段 

     

    查看建表语句

    show create table user\G;  ---\G表示竖排显示 

     

    查看当前用户

    select user();   --当前登录为本机

     

    查看当前使用的数据库

    select database();   --当前所在mysql库

     

    创建库

    create database db2;   --可以看到多个db2的库

     

    创建表

    create table t1(`id` int(4), `name` char(40));   --t1为名字  id、name为字段 int为格式 char字符串最长40

     

    查看当前数据库版本

    select version();  ---当前为5.6.36

     

    查看数据库状态

    show status;

     

    查看mysql的参数--这些参数也可以再my.cnf定义

    show variables;        --这里列举一部分

     

    也可以指定查找

    show variables like 'slo%';  ---%表示通配,当你不记得字母可以使用这个

     

    修改mysql参数

    set global max_connect_errors=1000;  --global只是临时修改,要永久生效需要去配置文件添加

     

    查看当前mysql服务器的队列:

    查看服务器队列可以查看当前mysql在干什么,也可以发行是否有锁表!

    show processlist;  

    show full processlist;  完整查看(可以看到info这里显示比较完整)

     

    五. mysql用户管理

     

    创建用户;

    all:权限命令    *.* 表示允许操作那些库和表,库和表用.分开

     

    > grant all on *.* to 'user1' identified by 'user1';  

     

    创建用户且只能使用SELECT命令和操作db1库,@后面指定来源IP

     

    > grant SELECT on db1.* to 'user2'@'localhost' identified by 'user2'

     

    创建用户使用全部命令和全部库,任何机器都可以连接  %表示全部来源IP

     

    > grant all on *.* to 'user2'@'%' identified by 'user2'

     

    查看用户权限;

    show grants;    ---这里是root登录只能查看root

     

    查看其它用户权限

    show grants for user1;

     

    如果有指定IP的用户需要加上@后面跟指定的IP

    show grants for user2@localhost;

     

    六. 常用sql语句

     

    查询语句;

    count(*)表示表中有几行  mysql.user :表示查询mysql库中的user表

     

    select count(*) from mysql.user;   

     

    查询表中的所有数据

    mysql.user :表示查询mysql库中的user表     *表示所有数据

     

    select * from mysql.user\G; 

     

     

    查询指定段的数据

    select db from mysql.user;

     

     

    也可以指定多个字段查询数据

     

    select db,user from mysql.db;

     

     

     

    插入一行数据;

    use db1;   ---切换db1库

    create table t3 (`id` int(4), `name` char(40));  ---创建一个t3的表

    insert into db1.t3 values (1,'aa');  ----插入一行数据

    select * from db1.t3;   ---查询表中数据

     

     

    更改表中数据

    update db1.t3 set name='123' where ind=1;    

     

    可以看到表中数据原本是aaa变成了123

     

     

    清空表中数据,表中结构保留

     

    truncate table db1.t3;    

     

    desc查看字段,可以看到只清空了表的数据,结构还是保留了

     

    删除表;

     

    show tables;  --- 查询当前库的表

    drop table db1.t3; ----删除表

     

    可以看到原本的t3表已经删除了。

     

    删除库;

     

    show databases;   ---查询当前库

    drop database db1; ---删除库

     

    可以看到原本的db1库已经删除了。

     

    八. mysql数据库备份恢复

     

    备份数据库示例;

     

    1.  show databases;  ---查询库

     

     

    2. 退出mysql利用mysqldump工具进行备份

     

    mysqldump -uroot -pmysql mysql   > /beifen/mysql.sql  ---备份mysql到beifen目录改名为sql后缀

     

    3. cd 查询是否备份成功

     

    4. 恢复数据库

     

    先删除原先的mysql

    drop database mysql;

     

    进行恢复

    mysql -uroot -pmysql </beifen/mysql.sql

     

    进入表查看

    show tables;

     

    备份表

    # mysqldump -uroot -pmysql mysql mysql t1 >/beifen/t1.sql

     

    恢复表

    # mysql -uroot -pmysql mysql < /beifen/t1.sql

     

    备份所有库

    # mysqldump -uroot -Pmysql -A >/beifen/quanbu.sql

     

    只备份表结构

    # mysqldump -uroot -Pmysql -d mysql >/beifen/jiegou.sql

    最新回复(0)