MySQL

Posted 坑坑尔不坑

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL相关的知识,希望对你有一定的参考价值。

编译安装mysql

 https://www.cnblogs.com/shijiaqi1066/p/4311061.html 

  链接中的配置文件中的

  [client]

  socket

  [mysqld]

  datadir

  socket

  这几个目录有问题
  1、配置阿里源
  cd /etc/yum.repos.d
  mv CentOS-Base.repo CentOS-Base.repo.bak
  rm -rf CentOS-Base.repo
  wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
  2、卸载Mysql
  rpm -qa | grep mysql
  rpm -e 目标文件 --nodeps //忽略依赖
  3、配置编译环境
  yum -y install make gcc-c++ cmake bison-devel ncurses-devel
  4、 groupadd mysql //新增用户组
  useradd -r -g mysql mysql //新增mysql用户
  mkdir -p /usr/local/mysql //mysql安装目录
  mkdir -p /data/mysqldb //mysql数据库数据文件目录
  5、cmake执行脚本
  cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \\
  -DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \\
  -DDEFAULT_CHARSET=utf8 \\
  -DDEFAULT_COLLATION=utf8_general_ci \\
  -DWITH_EXTRA_CHARSETS:STRING=utf8,gbk \\
  -DWITH_MYISAM_STORAGE_ENGINE=1 \\
  -DWITH_INNOBASE_STORAGE_ENGINE=1 \\
  -DWITH_MEMORY_STORAGE_ENGINE=1 \\
  -DWITH_READLINE=1 \\
  -DENABLED_LOCAL_INFILE=1 \\
  -DMYSQL_DATADIR=/data/mysql \\
  -DMYSQL_USER=mysql \\
  -DMYSQL_TCP_PORT=3306
  6、make && make install //编译安装
  7、修改mysql目录所有者和组
  修改mysql安装目录
  cd /usr/local/mysql
  chown -R mysql:mysql .
  修改mysql数据库文件目录
  cd /data/mysqldb
  chown -R mysql:mysql .
  //chown最后跟文件名。此处使用“.”,表示当前目录
  8、初始化mysql数据库
  cd /usr/local/mysql
  scripts/mysql_install_db --user=mysql --datadir=/data/mysqldb
  mysql_install_db //生成mysql系统表,并且最后在mysql目录下生成一个my.cnf文件
  --user=mysql //作用是指定运行mysqld进程的用户名。设置这个用户后,所有通过mysqld进程创建的文件(如日志等都会属于这个用户)
  9、mysql配置文件
  cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
  10、将mysql执行命令添加入PATH
  vim /etc/profile
  PATH=$PATH:/usr/local/mysql/bin
  export PATH
  source /etc/profile
  11、将mysql设置为系统服务并启动服务
  cp support-files/mysql.server /etc/init.d/mysqld
  12、启动mysql
  service mysqld start

  

  第一遍安装时出现的问题:

    https://www.cnblogs.com/shijiaqi1066/p/4311061.html //安装链接
    卸载mysql:
    https://www.cnblogs.com/taomylife/p/7234925.html //卸载
    https://www.cnblogs.com/kerrycode/p/4353755.html //不管依赖 --nodeps
    编译安装cmake:
    http://bbs.51cto.com/thread-1175231-1-1.html //编译安装cmake出现错误
    --no-check-certificate //不检查证书
    https://blog.csdn.net/my_name_nb/article/details/80503671 //mysql源码包下载
    https://blog.csdn.net/tianlebest/article/details/69941489

    https://blog.csdn.net/liuhui_306/article/details/41253175 //./bootstrap出现问题
    编译安装mysql:
    Could NOT find Curses (missing: CURSES_LIBRARY CURSES_INCLUDE_PATH)
    CMake Error at cmake/readline.cmake:85 (MESSAGE): Curses library not found.
    Please install appropriate package, remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu, package
    https://www.cnblogs.com/rooney/archive/2012/06/19/2554581.html //解决方案

 

  登录  mysql

  退出  \\q

  show engines;  //查看引擎

  cd /data/mysqldb/mysql  //查看表文件类型

  ls 

 

  vim .my.cnf  //直接登录mysql的隐藏文件

    [client]

    user=root

    password=mysql    

    host=localhost

  show variables like \'%innodb%\';  //查看表空间文件,里面的数据可以修改

  vim /etc/my.cnf

 

  create database mydb;

  use mydb;

  crete table······

  cd /data/mysqldb/mydb

  ls

  db.opt testdb.frm testdb.ibd

  db.opt  //默认排序规则和字符集

  default-character-set=utf8

  default-collation=utf8_general_ci

  .frm  //表结构

  .idb  //表空间

32_04  客户端工具的使用

  mysql -D mydb  //直接连到数据库mydb

  select database();

  

mysql>

  交互模式

  批处理模式(脚本模式)

    mysql < init.sql

    

    source ——>\\.

    也可以直接这样

    

  mysql>

    命令两类:

      客户端命令:

      \\c clear    提前终止语句执行(不能加语句结束符)

      \\g             无论语句结束符是什么,直接将此语句送至服务器端执行;

      \\G            无论语句结束符是什么,直接将此语句送至服务器端执行,而且结果以竖排方式显示;

      \\! system  执行shell语句

      \\w             语句执行结束后显示警告信息

      \\#              对新建的对象,支持补全功能

      

      服务器语句:有语句结束符,默认是(;)

      \\d 或delimiter 定义语句结束符

      

  mysql>提示符

    ->

    \'>  //单引号缺后一半

    ">

    `>

  其它选项

    --ssl-verify-server-cert  //验证服务器端证书

  补全

    名称补全

  禁用名称补全

  

  开启名称补全

    \\#

    rehash

  服务器端命令获取帮助

    help KEYWORD

      help CREATE INDEX

  客户端命令

    # mysqladmin [options] command [arg] [command [arg]] ...  //arg参数

    # mysqladmin -u root -p password \'NEW_PASS\'

    mysqladmin create DATABASE

      drop DATABASE

      ping

      -u root -p -h 172.16.0.1 ping  

    

      processlist

      status

        --sleep N  显示频率

        --count N  显示多个状态

      extended-status  mysql  显示状态变量

      variables  显示服务器变量

      flush-privileges  让mysqld重读授权表,等同于reload

      flush-status  重置大多数的服务器状态变量

      flush-logs  二进制和中继日志滚动

      flush-hosts

      refresh  相当于同时执行flush-hosts和flush-logs

      shutdown  关闭mysql服务器进程

      version  服务器版本及当前状态信息

 

      start-slave  启动复制,启动从服务器复制线程

        SQL thread

        IO thread

      stop-slave  关闭复制

    mysqldump,mysqlimport,mysqlcheck

 

  

    

    

    

    

 

 

 

 

  

 

  

  

  

  

  

  

  

  

    

以上是关于MySQL的主要内容,如果未能解决你的问题,请参考以下文章

MySQLMySQL 一些 使用 案例

MySQL的常用操作更改root密码连接MySQLMySQL常用的命令

MySQLMysql必会语句

MySQLMysql必会语句

MySQLMysql必会语句

mysqlmysql优化