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
 
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号