mysql的基本用法

发布时间:2020年03月16日 阅读:51 次

  1. 安装mysql
    rpm安装
    yum install -y mysql-server mysql-devel mysql-client
    启动服务

     1.service mysqld start   #启动服务
     2.service mysqld stop    #关闭服务
     3.service mysqld restart #重启服务
     4.chkconfig mysqld on    #设置开机启动
  2. 常用操作
    mysql客户端命令

     mysql
      -u   #用户名
      -p   #密码
      -h   #主机
      -p   #协议(根据tcp, socket, pile等)
  3. 更改用户密码
    mysqladmin实现

     mysqladmin -uroot password 'newpassword' -p
     mysqladmin -u root -h hostname password 'newpassword'

    修改数据库实现

     ##1
     mysql>use mysql;
     mysql>update user set password = password('newpassword') where user = 'root';
     mysql>flush privileges;
     ##2
     mysql>set password for 'root@host_name' = password('newpassword');
     mysql>update mysql.user set password = password('newpassword')  where condition;
     mysql>flush privileges;
  4. 服务端常用命令
    交互模式(通过mysql -uroot -p进入)

     mysql>show databases;      #列出所有数据库
     mysql>show tables;         #查看所有表
     mysql>show engines;        #查看引擎信息
     mysql>show character set;  #查看字符集
     mysql>use DB_NAME;         #切换当前数据库
     查看数据库当前有访问权限的信息
     mysql>use mysql;
     mysql>select User, Password, Host FROM user;
     允许用户远程登陆
     mysql>use mysql;
     mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
     mysql>flush privileges;
     #其中"*.*"代表所有资源所有权限, “'root'@%”其中root代表账户名,%代表所有的访问地址,#也可以使用一个唯一的地址进行替换,只有一个地址能够访问。如果是某个网段的可以使用地址#与%结合的方式,如10.0.42.%。IDENTIFIED BY 'root',这个root是指访问密码。WITH GRANT OPTION允许级联授权。
  5. 删除历史输入的命令

     root@localhost# head ~/.mysql_history
     root@localhost# >~/.mysql_history
  6. 批处理模式(用于将表导入数据库)

     mysql < *.sql
  7. 数据库的备份

     root@localhost# mysqldump -uroot -p password [DB_NAME] > [DUMP_FILE] #备份指定数据库
     root@localhost# mysqldump --no-data --databases mydatabases1 mydatabases2 mydatabases3 > test.dump #只备份表结构
     root@localhost# mysqldump --all-databases > [DUMP_FILE] #备份所有数据库
  8. 忘记root密码

     #跳过访问控制权限进入mysql
     #编辑 /etc/my.cnf,添加一行:skip-grant-table
     [mysqld]
     skip-frant-table
     #重启mysqld
     service mysqld restart
     #修改密码
     root@localhost# mysql
     mysql>use mysql
     mysql>update mysql.user set password = password('newpassword') where user = 'root' and host = 'localhost';
     mysql>flush privileges;
     mysql>exit
     #编辑/etc/my.cnf文件 删除skip-grant-table
     #重启服务
     service mysqld restart
  9. 创建用户

     #登陆mysql
     mysql -uroot -p密码
     #创建用户
     mysql> insert into mysql.user(Host,User,Password) values("localhost","test",password("1234"));
     #创建了一个test用户  密码为1234  且只能本地登陆如果要远程登陆把"localhost"改为"%"。
     mysql>flush privileges;
  10. 删除用户

    #登陆mysql
    mysql -uroot -p密码
    #删除用户
    mysql>Delete FROM user Where User='test' and Host='localhost';
    mysql>flush privileges;
    mysql>drop database testDB;  #删除用户的数据库
    #删除账户及权限
    mysql>drop user 用户名@'%';
    mysql>drop user 用户名@ localhost;
  11. 删除数据库和数据表

    mysql>drop database 数据库名;
    mysql>drop table 数据表名;
  12. 导入导出.sql文件的方法

    #导出数据和表结构:
    mysqldump -u用户名 -p密码 数据库名 > 数据库名.sql
    root@localhost# mysqldump -uroot -p abc > abc.sql
    #只导出表结构
    mysqldump -u用户名 -p密码 -d 数据库名 > 数据库名.sql
    root@localhost# mysqldump -uroot -p -d abc > abc.sql
    #导入数据库
    1.建立空数据库
    mysql>create database abc;
    2.导入数据库
    1).选择数据库
    mysql>use abc;
    2).设置数据库编码
    mysql>set names utf8;
    3).导入数据库(注意sql文件路径)
    mysql>source /root/abc.sql
Tag:
相关文章

发表评论: