zoukankan      html  css  js  c++  java
  • mysql源码包安装

    一、准备编译环境

    # yum -y install ncurses ncurses-devel openssl-devel bison gcc gcc-c++ make cmake
    # wget http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz  (内存不要太小)

    二、准备源码包

    # groupadd mysql
    
    # useradd -r -g mysql -s /bin/false mysql (-r:系统用户,-g:组,-s:指定shell)
    
    # tar xvf mysql-5.7.19.tar.gz
    
    # cd mysql-5.7.19(以下都在该文件夹下完成)
    
    [root@mysql3 mysql-5.7.19]# mv ../boost_1_59_0.tar.gz  .
    
    [root@mysql3 mysql-5.7.19]# tar xf  boost_1_59_0.tar.gz(boost可以理解为MySQL的库文件)
    
    配置
    
    [root@mysql-5.7.17 ~]# cmake . 
    -DWITH_BOOST=boost_1_59_0/ 
    -DCMAKE_INSTALL_PREFIX=/usr/local/mysql 
    -DSYSCONFDIR=/etc 
    -DMYSQL_DATADIR=/usr/local/mysql/data 
    -DINSTALL_MANDIR=/usr/share/man 
    -DMYSQL_TCP_PORT=3306 
    -DMYSQL_UNIX_ADDR=/tmp/mysql.sock 
    -DDEFAULT_CHARSET=utf8 
    -DEXTRA_CHARSETS=all 
    -DDEFAULT_COLLATION=utf8_general_ci 
    -DWITH_READLINE=1 
    -DWITH_SSL=system 
    -DWITH_EMBEDDED_SERVER=1 
    -DENABLED_LOCAL_INFILE=1 
    -DWITH_INNOBASE_STORAGE_ENGINE=1
    
    如果cmake失败,请将CMakeCache.txt缓存移除
    
    编译
    
    # make
        等待1个小时左右
    
    安装
    
    # make install

    三、初始化

    # cd /usr/local/mysql
    
    # mkdir mysql-files
    
    # chown -R mysql.mysql  /usr/local/mysql
    
    #  /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
    
    #  /usr/local/mysql/bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data
    
    # vim /etc/my.cnf
    
    [root@mysql1 mysql]# vim /etc/my.cnf
    [mysqld]
    basedir=/usr/local/mysql
    datadir=/usr/local/mysql/data

    四、开机启动MySQL

    # cp support-files/mysql.server /etc/init.d/mysqld
    
    # chkconfig --add mysqld
    
    # chkconfig mysqld on
    
    # service mysqld start
    
    # ps aux |grep mysqld
    
    mysql -u root -p '密码'  登陆有问题吗?
    
    /usr/local/mysql/bin/mysql -u root -p'x/dwiQ2<l:hb'(引号内为上一步的临时密码)
    
    配新密码
    
    /usr/local/mysql/bin/mysqladmin -u root -p 'x/dwiQ2<l:hb' password 'QinFeng@123'
    
    show databases; 看到库即可。
    
    $PATH(必须做,有点的时候回报错,确保万无一失)
    
    [root@mysql2 mysql]# mysql
    
    -bash: mysql: command not found
    
    [root@mysql2 mysql]# /usr/local/mysql/bin/mysql  (关键)
    
    [root@mysql1 mysql]# echo "export PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
    
    [root@mysql1 mysql]# source /etc/profile
    
    [root@localhost ~]# mysql
    Welcome to the MySQL monitor.  Commands end with ; or g.
    Your MySQL connection id is 5
    Server version: 5.7.19 Source distribution
    登录成功

    五、报错记录

    1、[root@localhost mysql]# service mysqld start
    Starting MySQL.2019-11-02T11:02:31.316199Z mysqld_safe error: log-error set to '/var/lble for user 'mysql'.
     ERROR! The server quit without updating PID file (/usr/local/mysql/data/localhost.pid)
    [root@localhost mysql]# mkdir /var/lo
    local/ lock/  log/   
    [root@localhost mysql]# mkdir /var/log/mariadb
    [root@localhost mysql]# touch /var/log/mariadb/mariadb.log
    [root@localhost mysql]# chown -R mysql:db /var/log/mariadb
    chown: invalid group: ‘mysql:db’
    [root@localhost mysql]# chown -R mysql:mysql /var/log/mariadb/
    [root@localhost mysql]#
    [root@localhost mysql]# service mysqld start
    Starting MySQL. SUCCESS!
    
    2、[root@localhost ~]# mysql
    ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (111)
    
    解决:[root@localhost ~]# yum -y install mariadb mariadb-server
    
    [root@localhost ~]# systemctl restart mariadb
    [root@localhost ~]# mysql
    Welcome to the MariaDB monitor.  Commands end with ; or g.
    Your MariaDB connection id is 2
    Server version: 5.5.64-MariaDB MariaDB Server
    
    Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
    
    Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
    
    MariaDB [(none)]>

    六、yum安装mysql

    https://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/#repo-qg-yum-installing  (官网yum安装)
    # wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm # yum -y install mysql57-community-release-el7-10.noarch.rpm # yum -y install mysql-community-server

    # mysql 报错(mysql未启动)
    ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

    执行:
    # systemctl start mysqld
    # systemctl enable mysqld
    # systemctl daemon-reload
    mysql安装完成之后,会在/var/log/mysqld.log文件中给root生成了一个临时的默认密码。
    # vim /var/log/mysqld.log
    ...
    2020-03-14T12:56:42.004748Z 1 [Note] A temporary password is generated for root@localhost: w6pdVr+mB=pO
    ......
      # mysql --version
    mysql  Ver 14.14 Distrib 5.7.29, for Linux (x86_64) using  EditLine wrapper

    # cat /var/log/mysqld.log | grep 'temporary password'
    2020-03-29T09:34:24.340862Z 1 [Note] A temporary password is generated for root@localhost: r!vx6FmI8?J
  • 相关阅读:
    [转]读懂概率图模型:从基本概念和参数估计开始
    [转]ResNet讲解
    [转] GPT-2通俗详解
    Linux/IO基础
    Https:深入浅出HTTPS的交互过程
    Poll/Select/Epoll
    IO相关知识
    认真分析mmap:是什么 为什么 怎么用【转】
    页面滚动时导航渐变
    SSH Secure Shell Client的傻瓜式使用方法
  • 原文地址:https://www.cnblogs.com/zjz20/p/11378873.html
Copyright © 2011-2022 走看看