• CentOS6.5源码安装MySQL5.6.35


    CentOS6.5源码安装MySQL5.6.35

    一、卸载旧版本

    复制代码
    1、使用下面的命令检查是否安装有mysql
    [root@localhost tools]# rpm -qa|grep -i mysql
    2、有的话就卸载
    [root@localhost tools]# yum remove MySQL-server-5.6.35-1.el6.i686
    [root@localhost tools]# yum remove MySQL-devel-5.6.35-1.el6.i686
    [root@localhost tools]# yum remove MySQL-client-5.6.35-1.el6.i686
    [root@localhost tools]# yum remove mysql-utilities-1.6.5-1.el6.noarch
    [root@localhost tools]# yum remove mysql-connector-python-2.1.5-1.el6.i686
    3、删除相关目录
    [root@localhost tools]# whereis mysql
    [root@localhost tools]# rm -rf /usr/share/mysql 
    [root@localhost tools]# rm -rf /var/lib/mysql
    [root@localhost mysql]# mv /usr/lib/mysql /usr/lib/mysql.bak   #这个当时不确定是rmp包所创建,暂时改名
    复制代码

    二、安装MySQL

    复制代码
    4、安装编译代码需要的包
    [root@localhost tools]# yum list|grep ncurses-devel
    [root@localhost tools]# yum -y install make gcc-c++ cmake bison-devel ncurses-devel
    
    5、下载MySQL 5.6.35
    [root@localhost tools]# wget https://cdn.mysql.com//Downloads/MySQL-5.6/mysql-5.6.35.tar.gz
    [root@localhost tools]# tar zxvf mysql-5.6.35.tar.gz
    [root@localhost tools]# cd mysql-5.6.35
    第一次下载错了(mysql-5.6.35-linux-glibc2.5-i686.tar.gz),编译时总是报错
    CMake Error: The source directory “*” does not appear to contain CMakeLists.txt.
    要选择的是 MySQL Community Server 下的 Source Code!!!
    
    6、目录创建(-p父目录不存在则创建此目录)
    [root@localhost mysql-5.6.35]# mkdir -p /usr/local/mysql/data
    
    7、编译安装
    [root@localhost mysql-5.6.35]# cmake 
    -DCMAKE_INSTALL_PREFIX=/usr/local/mysql 
    -DMYSQL_DATADIR=/usr/local/mysql/data 
    -DSYSCONFDIR=/etc 
    -DWITH_MYISAM_STORAGE_ENGINE=1 
    -DWITH_INNOBASE_STORAGE_ENGINE=1 
    -DWITH_MEMORY_STORAGE_ENGINE=1 
    -DWITH_READLINE=1 
    -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock 
    -DMYSQL_TCP_PORT=3306 
    -DENABLED_LOCAL_INFILE=1 
    -DWITH_PARTITION_STORAGE_ENGINE=1 
    -DEXTRA_CHARSETS=all 
    -DDEFAULT_CHARSET=utf8 
    -DDEFAULT_COLLATION=utf8_general_ci
    [root@localhost mysql-5.6.35]# make && make install
    [root@localhost mysql-5.6.35]# make clean
    复制代码
     
    -DCMAKE_INSTALL_PREFIX=dir_name 设置mysql安装目录
    -DMYSQL_UNIX_ADDR=file_name 设置监听套接字路径,这必须是一个绝对路径名。默认为/tmp/mysql.sock
    -DDEFAULT_CHARSET=charset_name 设置服务器的字符集。
    缺省情况下,MySQL使用latin1的(CP1252西欧)字符集。cmake/character_sets.cmake文件包含允许的字符集名称列表。
    -DDEFAULT_COLLATION=collation_name 设置服务器的排序规则。
    -DWITH_INNOBASE_STORAGE_ENGINE=1 
    -DWITH_ARCHIVE_STORAGE_ENGINE=1
    -DWITH_BLACKHOLE_STORAGE_ENGINE=1 
    -DWITH_PERFSCHEMA_STORAGE_ENGINE=1
    存储引擎选项:

    MyISAM,MERGE,MEMORY,和CSV引擎是默认编译到服务器中,并不需要明确地安装。

    静态编译一个存储引擎到服务器,使用-DWITH_engine_STORAGE_ENGINE= 1

    可用的存储引擎值有:ARCHIVE, BLACKHOLE, EXAMPLE, FEDERATED, INNOBASE (InnoDB), PARTITION (partitioning support), 和PERFSCHEMA (Performance Schema)
    -DMYSQL_DATADIR=dir_name 设置mysql数据库文件目录
    -DMYSQL_TCP_PORT=port_num 设置mysql服务器监听端口,默认为3306
    -DENABLE_DOWNLOADS=bool 是否要下载可选的文件。例如,启用此选项(设置为1),cmake将下载谷歌所使用的测试套件运行单元测试。
     
     
     
     
     

    三、配置MySQL

    复制代码
    8、设置权限
    查看是否有mysql用户及用户组
    [root@localhost mysql-5.6.35]# cat /etc/passwd
    [root@localhost mysql-5.6.35]# cat /etc/group
    如果没有就添加mysql用户和组
    [root@localhost mysql-5.6.35]# groupadd mysql
    [root@localhost mysql-5.6.35]# useradd -g mysql mysql
    修改/usr/local/mysql权限
    [root@localhost mysql-5.6.35]# chown -R mysql:mysql /usr/local/mysql
    
    9、初始化配置
    进入安装路径
    [root@localhost mysql-5.6.35]# cd /usr/local/mysql
    执行初始化配置脚本,创建系统自带的数据库和表
    [root@localhost mysql]# scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
    
    10、启动MySQL
    添加服务,拷贝服务脚本到init.d目录
    如果/etc目录有之前存在的my.cnf文件,将其重命名。启动MySQL服务时,会优先在/etc目录下查找
    [root@localhost mysql]# mv /etc/my.cnf /etc/my.cnf.bak
    [root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysql
    [root@localhost mysql]# chkconfig mysql on
    [root@localhost mysql]# service mysql start  --启动MySQL
    
    11、配置用户
    设置PATH
    [root@localhost mysql]# echo "export PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
    [root@localhost mysql]# source /etc/profile
    [root@localhost mysql]# echo $PATH
    修改root密码
    [root@localhost mysql]# mysql -uroot
    mysql> SET PASSWORD = PASSWORD('mysql5635');
    设置mydba用户可以远程访问
    mysql> GRANT ALL PRIVILEGES ON *.* TO 'mydba'@'%' IDENTIFIED BY 'mysql5635' WITH GRANT OPTION;
    防火墙设置可参考 http://www.cnblogs.com/ShanFish/p/6519950.html
    
    12、补充
    退出后重新在终端登录
    [root@localhost ~]# mysql -uroot -p
    bash: mysql: command not found
    使用完整的路径可以登录
    [root@localhost ~]# /usr/local/mysql/bin/mysql -uroot -p
    Enter password:
    最后建立一个软链接,其它常用命令mysqladmin、mysqldump等不可用时候都可按用此方法解决
    [root@localhost ~]# ln -s /usr/local/mysql/bin/mysql /usr/bin
    复制代码

    Add 2017-03-13 关于环境变量第一次使用的是临时的

    #直接运行export命令定义变量【只对当前shell有效(临时的)】
    [root@VMUest ~]# export PATH=/usr/local/mysql/bin:$PATH
    [root@VMUest ~]# echo $PATH

    它只对当前的shell有效,因此刚配置时可以使用mysql,退出登录就不能使用。后来将export写入到文件/etc/profile,就可以永久有效,当然也不需要软链接啦

    [root@VMUest ~]# ll /usr/bin |grep mysql
    lrwxrwxrwx. 1 root root         26 Mar 10 16:23 mysql -> /usr/local/mysql/bin/mysql
    [root@VMUest ~]# rm -f /usr/bin/mysql
    [root@VMUest ~]# mysql -uroot -p
    Enter password: 
  • 相关阅读:
    LeetCode.1(两数之和)
    LeetCode.56(合并区间)
    c++ 数字与字符串的相互转换
    软件工程作业-面向对象方法学
    linux终端下解决you need to be root to perform this command
    vue中 v-bind 与 v-model的区别
    vue的核心:虚拟DOM 和 diff 算法
    弱实体集的必要性、属性随笔
    Ubuntu 18.04下Intel SGX应用程序程序开发——获得OCALL调用的返回值
    Ubuntu 18.04 INTEL SGX 修改案例打印Hello Enclave
  • 原文地址:https://www.cnblogs.com/Su-per-man/p/8602427.html
Copyright © 2020-2023  润新知