美文网首页
mysql笔记

mysql笔记

作者: yaoleiroyal | 来源:发表于2018-08-02 09:29 被阅读0次

    mysql 常用命令

    mysql 导出数据库:

    mysqldump --no-defaults -h localhost -u root -p hmms_dtrmyy > test.sql
    //如果不加--no-defaults的话,会报错mysqldump: unknown option '--no-beep'
    mysqldump --no-defaults --skip-lock-tables -h 120.25.217.140 -u car -p mo_car_sys > car.sql
    //如果不加 --skip-lock-tables的话,会报错mysqldump: Got error: 1044: Access denied for user 'car'@'%' to database 'mo_car_sys' when using LOCK TABLES
    

    mysql 清空缓存

    可通过如下方法清空查询缓存
    reset query cache;
    

    mysql导入导出数据库

    windows下

    1. 导出整个数据库

       mysqldump -u 用户名 -p 数据库名 > 导出的文件名
       mysqldump -u dbuser -p dbname > dbname.sql
      
    2. 导出一个表

       mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
       mysqldump -u dbuser -p dbname users> dbname_users.sql
      
    3. 导出一个数据库结构

       mysqldump -u dbuser -p -d --add-drop-table dbname >d:/dbname_db.sql
       -d 没有数据 --add-drop-table 在每个create语句之前增加一个drop table
      
    4. 导入数据库

       常用source 命令
       进入mysql数据库控制台,如
       mysql -u root -p
       mysql>use 数据库
       然后使用source命令,后面参数为脚本文件(如这里用到的.sql)
       mysql>source d:/dbname.sql
      

    linux下

    1. 导出数据库用mysqldump命令(注意mysql的安装路径,即此命令的路径):

      1. 导出数据和表结构:

         mysqldump -u用户名 -p密码 数据库名 > 数据库名.sql
         #/usr/local/mysql/bin/   mysqldump -uroot -p abc > abc.sql
         敲回车后会提示输入密码
        
      2. 只导出表结构

         mysqldump -u用户名 -p密码 -d 数据库名 > 数据库名.sql
         #/usr/local/mysql/bin/   mysqldump -uroot -p -d abc > abc.sql
         注:/usr/local/mysql/bin/  --->  mysql的data目录
        
    2. 导入数据库

      1. 首先建空数据库

         mysql>create database abc;
        
      2. 导入数据库

         方法一:
         (1)选择数据库
         mysql>use abc;
         (2)设置数据库编码
         mysql>set names utf8;
         (3)导入数据(注意sql文件的路径)
         mysql>source /home/abc/abc.sql;
         方法二:
         mysql -u用户名 -p密码 数据库名 < 数据库名.sql
         #mysql -uabc_f -p abc < abc.sql
        

    linux常用命令

    linux下创建文件夹:

    mkdir software //mkdir是命令 software是创建的目录
    

    linux下通过ssh传输文件:

    • 上传本地文件到服务器

      scp /path/filename username@servername:/path/ 
      #例如scp /var/www/test.php root@192.168.0.101:/var/www/ 
      #把本机/var/www/目录下的test.php文件上传到192.168.0.101这台服务器上的/var/www/目录中
      
    • 从服务器上下载文件

      scp username@servername:/path/filename /var/www/local_dir(本地目录) 
      #例如scp root@192.168.0.101:/var/www/test.txt 
      #把192.168.0.101上的/var/www/test.txt 的文件下载到/var/www/local_dir(本地目录)
      
    • 从服务器下载整个目录

      scp -r username@servername:/var/www/remote_dir/(远程目录) /var/www/local_dir(本地目录) 
      #例如:scp -r root@192.168.0.101:/var/www/test /var/www/
      
    • 上传目录到服务器

      scp -r local_dir username@servername:remote_dir 
      #例如:scp -r test root@192.168.0.101:/var/www/ 
      #把当前目录下的test目录上传到服务器的/var/www/ 目录
      #scp -r mariadb-10.2.10 root@172.17.97.24:/home/software
      

    linux下使用ssh命令连接远程服务器

      ssh root@47.95.213.36  后面会提示输入密码
    

    mariadb离线安装

    首先从网站http://yum.mariadb.org/10.2.10/centos6-amd64/rpms/下载对应的安装包,有如下几个

    image.png

    安装之前,需要先检查之前是否已经安装过老的版本,如果有,需要删除掉
    检查是否安装了相关组件

      rpm -qa | grep -i mariadb
      rpm -qa | grep -i mariadb-libs
      rpm -qa | grep -i mysql-libs
    

    如果上面这些命令找到了相关组件,比如mysql-libs-5.1.73-8.el6_8.x86_64,则使用下面的命令进行删除

      rpm -ev --nodeps mysql-libs-5.1.73-8.el6_8.x86_64
    

    下面分别进行安装:

      rpm -ivh jemalloc-3.6.0-1.el6.x86_64.rpm --nodeps // nodeps是指不要分析依赖关系,否则因为离线,会报各种错
      rpm -ivh jemalloc-devel-3.6.0-1.el6.x86_64.rpm --nodeps
      rpm -ivh MariaDB-10.2.10-centos6-x86_64-common.rpm --nodeps
      rpm -ivh MariaDB-10.2.10-centos6-x86_64-compat.rpm --nodeps
      rpm -ivh MariaDB-10.2.10-centos6-x86_64-client.rpm --nodeps
      rpm -ivh galera-25.3.20-1.rhel6.el6.x86_64.rpm --nodeps
      rpm -ivh MariaDB-10.2.10-centos6-x86_64-server.rpm --nodeps --nosignature
    

    数据库安装好了之后,需要给数据库初始化密码,首先启动mysql:

      service mysql start
      mysql
    

    然后在命令提示符下(mysql>或者MariaDB [(none)]>)设置密码

      set password for 'root'@'localhost'=password('Akl@qwe123');
      quit;
    

    重启mysql

      service mysql restart
    

    重新登录

      mysql -u root -p
    

    mariadb 相关配置

    配置MariaDB的字符集
    查看/etc/my.cnf文件内容,其中包含一句!includedir /etc/my.cnf.d 说明在该配置文件中引入/etc/my.cnf.d 目录下的配置文件。
    1)使用vi server.cnf命令编辑server.cnf文件,在[mysqld]标签下添加

    init_connect='SET collation_connection = utf8_unicode_ci' 
    init_connect='SET NAMES utf8' 
    character-set-server=utf8 
    collation-server=utf8_unicode_ci 
    skip-character-set-client-handshake
    

    如果/etc/my.cnf.d 目录下无server.cnf文件,则直接在/etc/my.cnf文件的[mysqld]标签下添加以上内容。
    2)用vi client.cnf命令编辑/etc/my.cnf.d/client.cnf文件,在[client]标签下添加

    default-character-set=utf8
    

    3)用vi mysql-clients.cnf命令编辑/etc/my.cnf.d/mysql-clients.cnf文件,在[mysql]标签下添加

    default-character-set=utf8
    

    配置完成后 service mysql restart或者systemctl restart mariadb 重启服务。
    进入到数据库查看字符设置。

    show variables like "%character%";
    show variables like "%collation%";
    
    image.png

    添加用户,设置权限
    创建用户命令:

    create user username@localhost identified by 'password';
    

    授予外网登陆权限:

    grant all privileges on *.* to username@'%' identified by 'password' with grant option;
    flush privileges; -- 推送设置到内存或重启服务器也行
    -- grant all privileges on *.* to root@'%' identified by 'Akl@qwe123' with grant option;
    

    相关文章

      网友评论

          本文标题:mysql笔记

          本文链接:https://www.haomeiwen.com/subject/cadnpxtx.html