• Mysql5.7版本编译安装及配置


     

    配置yum安装方式

    1、配置本地yum源

    1 vim /etc/yum.repos.d/rhel-source.repo
    2 [rhel-source]
    3 name=Red Hat Enterprise Linux $releasever - $basearch - Source
    4 baseurl=file:///mnt
    5 enabled=1
    6 gpgcheck=0

    2、清除yum缓存

    yum clean all

    3、更新yum源

    yum update all

    yum安装            yum install 软件名

    卸载                    yum remove 软件名

    安装开源mysql ===mysql5.7.10.tar.gz

     安装依赖

    yum -y install make gcc-c++ cmake bison-devel ncurses-devel libaio libaio-devel perl-Data-Dumper net-tools wget

    1、卸载rpm mysql软件

    # rpm -qa | grep mysql
    mysql-libs-5.1.73-3.el6_5.x86_64
     
    # yum remove -y mysql-libs-5.1.73-3.el6_5.x86_64

    2、新建用户

    # cat /etc/passwd | grep mysql
    mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bash 
    # userdel mysql       //删除rpm的用户
    useradd -M -s /sbin/nologin mysql
    groupadd mysql     //添加用户组
     useradd -r -g mysql mysql 
    View Code

    3、解压缩

    4、配置安装参数

    yum -y install cmake

    cmake
    -DCMAKE_INSTALL_PREFIX=/usr/local/mysql
    -DMYSQL_DATADIR=/usr/local/mysql/data
    -DSYSCONFDIR=/etc
    -DDOWNLOAD_BOOST=1
    -DWITH_BOOST=/usr/local/boost
    -DWITH_INNOBASE_STORAGE_ENGINE=1
    -DWITH_PARTITION_STORAGE_ENGINE=1
    -DWITH_READLINE=1
    -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock
    -DMYSQL_TCP_PORT=3306
    -DENABLED_LOCAL_INFILE=1
    -DDEFAULT_CHARSET=utf8
    -DDEFAULT_COLLATION=utf8_general_ci

    cmake
    -DCMAKE_INSTALL_PREFIX=/usr/local/mysql   #安装路径
    -DMYSQL_DATADIR=/data/mysql/               #数据文件存放位置
    -DSYSCONFDIR=/etc                          #my.cnf路径
    -DWITH_MYISAM_STORAGE_ENGINE=1             #支持MyIASM引擎
    -DWITH_INNOBASE_STORAGE_ENGINE=0          #支持InnoDB引擎
    -DWITH_MEMORY_STORAGE_ENGINE=1             #支持InnoDB引擎
    -DWITH_READLINE=1                          #快捷键功能(我没用过)
    -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock         #连接数据库socket路径
    -DMYSQL_TCP_PORT=3306                      #端口
    -DENABLED_LOCAL_INFILE=1                   #允许从本地导入数据
    -DWITH_PARTITION_STORAGE_ENGINE=1          #安装支持数据库分区
    -DWITH_EXTRA_CHARSETS:STRING=utf8,gbk      #安装需要的字符集
    -DDEFAULT_CHARSET=utf8                     #默认字符
    -DDEFAULT_COLLATION=utf8_general_ci        #默认字符集-DMYSQL_USER=mysql
    参数详解
    错误1:error: No curses/termcap
    解决办法: # yum install ncurses-devel

    5、make  编译

    错误2:“../depcomp: line 571: exec: g++: not found”
    
    解决办法:yum install gcc*

    6、make install

    错误3:
             ../include/my_global.h:982: 错误:对 C++ 内建类型 ‘bool’ 的重声明
              make[2]: *** [my_new.o] 错误 1
              make[2]: Leaving directory `/usr/src/mysql-5.1.49/mysys'
              make[1]: *** [all-recursive] 错误 1
              make[1]: Leaving directory `/usr/src/mysql-5.1.49'
              make: *** [all] 错误 2  
    解决办法:  ./configure加入参数  “--with-unix-socket-path=/tmp/mysql.sock”//指定套接字路径

    7、生成mysql的配置文件

    # cp support-files/my-medium.cnf /etc/my.cnf

    更改配置文件

    [root@pythonS1 ~]# vim /etc/my.cnf 
    [client]
    default-character-set=utf8
    port=3306
    socket=/data/mysql/mysql.sock
    
    [mysqld]
    character-set-server=utf8
    pid-file = /data/mysql/mysql.pid
    log-error=/var/log/mysqld.log
    datadir=/data/mysql
    basedir=/usr/local/mysql
    socket=/data/mysql/mysql.sock
    user=mysql
    # Disabling symbolic-links is recommended to prevent assorted security risks
    symbolic-links=0
    
    [mysqld_safe]
    log-error=/var/log/mysqld.log
    pid-file=/mysql/mysql/mysqld.pid
    参照配置

    经验之谈

    由于navicat连接执行速度慢:加入一句:[mysqld] skip-name-resolve

    8、初始化mysql数据库

    /usr/local/mysql/scripts/mysql_install_db --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql --datadir=/data/mysql --user=mysql

    注意:更改为

    # /usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
    1. 之前版本mysql_install_db是在$mysql_basedir/script下,5.7放在了$mysql_basedir/bin目录下,并会在将来被移除,转而使用mysqld替代
    2. - -initialize会生成一个随机密码(保存在~/.mysql_secret),而–initialize-insecure不会生成密码
    3. -–datadir目标目录下不能有数据文件
    4. 其他参数:mysql_install_db — Initialize MySQL Data Directory

    个人表示不喜欢软连接方式,所以直接启动

    /usr/local/mysql/bin/mysqld_safe &

    9、修改属主、属组

    chown mysql.mysql -R /data/mysql
    chmod +x /usr/local/mysql
    chown -R :mysql /var/lib/mysql/

    环境变量配置

    # vi /etc/profile
     
    -- 编辑/etc/profile文件在最后添加如下两行 --
     
    PATH=/usr/local/mysql/bin:$PATH 
    export PATH
     
    # source /etc/profile

    10、生成mysql控制服务

    # cp support-files/mysql.server /etc/rc.d/init.d/mysqld(以后可以使用/etc/init.d/mysqld restart 命令)
    # chmod a+x /etc/rc.d/init.d/mysqld
    # chkconfig --add /etc/rc.d/init.d/mysqld    //添加为系统服务,目的是为了开机自动启动(以后可以使用chkconfig mysqld on命令)
    方法

    11、启动mysqld服务

    # /etc/init.d/mysqld start
    netstat -antp | grep mysqld 

    12、建立mysql命令的软链接

    环境变量PATH    
    echo $ PATH
    # ln -s /usr/local/mysql/bin/* /usr/local/bin/

    13、保证其他软件(apache、nginx、php)和mysql可以协同工作

    # ln -s /usr/local/mysql/lib/mysql/* /usr/local/lib
    
    # ln -s /usr/local/mysql/include/mysql/* /usr/local/include/

    14.修改密码:

     A.进入配置文件:/etc/my.cnf
      [mysqld]
      skip-grant-tables 
      
     default_authentication_plugin = mysql_native_password --》mysql8.0的写法
    
      加入这句
    B.

      /usr/local/mysql/bin/mysql进入   UPDATE user SET password=PASSWORD("newpassword") WHERE user='root';   FLUSH PRIVILEGES;   验证密码是否成功:   select user,host,password from mysql.user;   是否有md5值
      create database db_test;
    C.创建一个新用户用于管理 db_test 数据库
      insert into mysql.user(Host,User,Password) values("localhost","admin",password("newpassword"));
      flush privileges;
    D.赋予权限
      GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'python123' WITH GRANT OPTION; # 这句是针对本机的, 以后可以使用127.0.0.1, 然后在下面那句   
    grant all privileges on db_test.* to 'user'@'%' identified by 'newpassword'; %在这里表示%:代表0个一个或多个任意字符,也可以是网段,192.168.10.%等注意加引号
      
  • 相关阅读:
    mysql 百万级查询优化
    hibernate N+1
    sql 技巧
    redis做成windows服务
    jsonp 跨域
    maven+spring-data-jpa环境搭建
    通过浏览器地址进行 post get 请求
    spring-data-jpa 新增 修改 删除 查询 分页
    mybatis+springMVC
    java 基于 bootstrap_datagrid 分页
  • 原文地址:https://www.cnblogs.com/renfanzi/p/5613431.html
Copyright © 2020-2023  润新知