mysql笔记

2018-08-02  本文已影响0人  yaoleiroyal

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传输文件:

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;
上一篇下一篇

猜你喜欢

热点阅读