zoukankan      html  css  js  c++  java
  • Linux MySql5.6.38安装过程

    1.下载mysql安装包mysql-5.6.38-linux-glibc2.12-x86_64.tar.gz

    2.用xftp工具将其上传到Linux服务器上的soft文件夹,没有的话先创建

    [root@master ~]# cd /
    [root@master /]# ls
    bin dev home lib64 media opt root selinux sys usr
    boot etc lib lost+found mnt proc sbin srv tmp var
    [root@master /]# mkdir soft

    3.解压mysql-5.6.38-linux-glibc2.12-x86_64.tar.gz

    [root@master soft]# tar ‐zxvf mysql‐5.6.38‐linux‐glibc2.12‐x86_64.tar.gz

    4.删除mysql-5.6.38-linux-glibc2.12-x86_64.tar.gz并将解压的文件夹重命名为mysql

    [root@master soft]# ls
    mysql‐5.6.38‐linux‐glibc2.12‐x86_64 mysql‐5.6.38‐linux‐glibc2.12‐x86_64.tar.gz
    [root@master soft]# rm ‐rf mysql‐5.6.38‐linux‐glibc2.12‐x86_64.tar.gz
    [root@master soft]# mv mysql‐5.6.38‐linux‐glibc2.12‐x86_64/ mysql

    5.查看之前系统是否安装过mysql

    [root@master soft]# rpm ‐qa|grep mysql
    mysql‐libs‐5.1.735.el6_6.x86_64

    6.卸载之前安装过的mysql

    [root@master soft]# rpm ‐e ‐‐nodeps mysql‐libs‐5.1.735.el6_6.x86_64
    [root@master soft]# rpm ‐qa|grep mysql
    [root@master soft]#

    7.查看系统之前是否有mysql用户

    [root@master soft]# groups mysql
    groups: mysql:无此用户

    8.创建mysql用户组及用户

    [root@master soft]# groupadd mysql
    [root@master soft]# useradd ‐r ‐g mysql mysql

    9.将解压的mysql文件夹移动到/usr/local目录下

    [root@master soft]# mv mysql/ /usr/local/

    10.进入/usr/local/文件夹并修改mysql文件夹用户组及用户为mysql

    [root@master soft]# cd /usr/local/
    [root@master local]# chown ‐R mysql:mysql mysql
    [root@master local]# ll
    总用量 44
    drwxr‐xr‐x. 2 root root 4096 9月 23 2011 bin
    drwxr‐xr‐x. 2 root root 4096 9月 23 2011 etc
    drwxr‐xr‐x. 2 root root 4096 9月 23 2011 games
    drwxr‐xr‐x. 2 root root 4096 9月 23 2011 include
    drwxr‐xr‐x. 2 root root 4096 9月 23 2011 lib
    drwxr‐xr‐x. 2 root root 4096 9月 23 2011 lib64
    drwxr‐xr‐x. 2 root root 4096 9月 23 2011 libexec
    drwxr‐xr‐x. 13 mysql mysql 4096 1月 16 04:04 mysql
    drwxr‐xr‐x. 2 root root 4096 9月 23 2011 sbin
    drwxr‐xr‐x. 5 root root 4096 1月 16 02:15 share
    drwxr‐xr‐x. 2 root root 4096 9月 23 2011 src
    [root@master local]#

    11.修改/etc/hosts文件夹将IP和主机名添加进去

    [root@master scripts]# vi /etc/hosts
    192.168.1.110 master
    127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

    12.进入mysql/scripts/文件夹,进行安装

    [root@master scripts]# ./mysql_install_db ‐‐basedir=/usr/local/mysql ‐‐
    datadir=/usr/local/mysql/data ‐‐user=mysql ‐‐explicit_defaults_for_timestamp
     1 Installing MySQL system tables...20180116 04:21:19 0 [Note] Ignoring ‐‐secure‐file‐priv value
     2 as server is running with ‐‐bootstrap.
     3 20180116 04:21:19 0 [Note] /usr/local/mysql/bin/mysqld (mysqld 5.6.38) starting as process
     4 1996 ...
     5 20180116 04:21:19 1996 [Note] InnoDB: Using atomics to ref count buffer pool pages
     6 20180116 04:21:19 1996 [Note] InnoDB: The InnoDB memory heap is disabled
     7 20180116 04:21:19 1996 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
     8 20180116 04:21:19 1996 [Note] InnoDB: Memory barrier is not used
     9 20180116 04:21:19 1996 [Note] InnoDB: Compressed tables use zlib 1.2.3
    10 20180116 04:21:19 1996 [Note] InnoDB: Using Linux native AIO
    11 20180116 04:21:19 1996 [Note] InnoDB: Using CPU crc32 instructions
    12 20180116 04:21:19 1996 [Note] InnoDB: Initializing buffer pool, size = 128.0M
    13 20180116 04:21:19 1996 [Note] InnoDB: Completed initialization of buffer pool
    14 20180116 04:21:19 1996 [Note] InnoDB: The first specified data file ./ibdata1 did not exist: a
    15 new database to be created!
    16 20180116 04:21:19 1996 [Note] InnoDB: Setting file ./ibdata1 size to 12 MB
    17 20180116 04:21:19 1996 [Note] InnoDB: Database physically writes the file full: wait...
    18 20180116 04:21:19 1996 [Note] InnoDB: Setting log file ./ib_logfile101 size to 48 MB
    19 20180116 04:21:20 1996 [Note] InnoDB: Setting log file ./ib_logfile1 size to 48 MB
    20 20180116 04:21:20 1996 [Note] InnoDB: Renaming log file ./ib_logfile101 to ./ib_logfile0
    21 20180116 04:21:20 1996 [Warning] InnoDB: New log files created, LSN=45781
    22 20180116 04:21:20 1996 [Note] InnoDB: Doublewrite buffer not found: creating new
    23 20180116 04:21:20 1996 [Note] InnoDB: Doublewrite buffer created
    24 20180116 04:21:20 1996 [Note] InnoDB: 128 rollback segment(s) are active.
    25 20180116 04:21:20 1996 [Warning] InnoDB: Creating foreign key constraint system tables.
    26 20180116 04:21:20 1996 [Note] InnoDB: Foreign key constraint system tables created
    27 20180116 04:21:20 1996 [Note] InnoDB: Creating tablespace and datafile system tables.
    28 20180116 04:21:20 1996 [Note] InnoDB: Tablespace and datafile system tables created.
    29 20180116 04:21:20 1996 [Note] InnoDB: Waiting for purge to start
    30 20180116 04:21:20 1996 [Note] InnoDB: 5.6.38 started; log sequence number 0
    31 20180116 04:21:21 1996 [Note] Binlog end
    32 20180116 04:21:21 1996 [Note] InnoDB: FTS optimize thread exiting.
    33 20180116 04:21:21 1996 [Note] InnoDB: Starting shutdown...
    34 20180116 04:21:22 1996 [Note] InnoDB: Shutdown completed; log sequence number 1625977
    35 OK
    36 Filling help tables...20180116 04:21:22 0 [Note] Ignoring ‐‐secure‐file‐priv value as server
    37 is running with ‐‐bootstrap.
    38 20180116 04:21:22 0 [Note] /usr/local/mysql/bin/mysqld (mysqld 5.6.38) starting as process
    39 2018 ...
    40 20180116 04:21:22 2018 [Note] InnoDB: Using atomics to ref count buffer pool pages
    41 20180116 04:21:22 2018 [Note] InnoDB: The InnoDB memory heap is disabled
    42 20180116 04:21:22 2018 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
    43 20180116 04:21:22 2018 [Note] InnoDB: Memory barrier is not used
    44 20180116 04:21:22 2018 [Note] InnoDB: Compressed tables use zlib 1.2.3
    45 20180116 04:21:22 2018 [Note] InnoDB: Using Linux native AIO
    46 20180116 04:21:22 2018 [Note] InnoDB: Using CPU crc32 instructions
    47 20180116 04:21:22 2018 [Note] InnoDB: Initializing buffer pool, size = 128.0M
    48 20180116 04:21:22 2018 [Note] InnoDB: Completed initialization of buffer pool
    49 20180116 04:21:22 2018 [Note] InnoDB: Highest supported file format is Barracuda.
    50 20180116 04:21:22 2018 [Note] InnoDB: 128 rollback segment(s) are active.
    51 20180116 04:21:22 2018 [Note] InnoDB: Waiting for purge to start
    52 20180116 04:21:22 2018 [Note] InnoDB: 5.6.38 started; log sequence number 1625977
    53 20180116 04:21:22 2018 [Note] Binlog end
    54 20180116 04:21:22 2018 [Note] InnoDB: FTS optimize thread exiting.
    55 20180116 04:21:22 2018 [Note] InnoDB: Starting shutdown...
    56 20180116 04:21:24 2018 [Note] InnoDB: Shutdown completed; log sequence number 1625987
    57 OK
    58 To start mysqld at boot time you have to copy
    59 support‐files/mysql.server to the right place for your system
    60 PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
    61 To do so, start the server, then issue the following commands:
    62 /usr/local/mysql/bin/mysqladmin ‐u root password 'new‐password'
    63 /usr/local/mysql/bin/mysqladmin ‐u root ‐h master password 'new‐password'
    64 Alternatively you can run:
    65 /usr/local/mysql/bin/mysql_secure_installation
    66 which will also give you the option of removing the test
    67 databases and anonymous user created by default. This is
    68 strongly recommended for production servers.
    69 See the manual for more instructions.
    70 You can start the MySQL daemon with:
    71 cd . ; /usr/local/mysql/bin/mysqld_safe &
    72 You can test the MySQL daemon with mysql‐test‐run.pl
    73 cd mysql‐test ; perl mysql‐test‐run.pl
    74 Please report any problems at http://bugs.mysql.com/
    75 The latest information about MySQL is available on the web at
    76 http://www.mysql.com
    77 Support MySQL by buying support/licenses at http://shop.mysql.com
    78 New default config file was created as /usr/local/mysql/my.cnf and
    79 will be used by default by the server when you start it.
    80 You may edit this file to change server settings
    View Code

    可能出现的错误

    1、数据初始化‐主机名解析错误
    系统‐Red Hat Enterprise Linux Server release 6.6
    软件‐源码安装mysql‐5.6.27.tar.gz
    环境‐Linux rhel6.myexample.com 2.6.32504.el6.x86_64 #1 SMP Tue Sep 16 01:56:35 EDT 2014 x86_64
    x86_64 x86_64 GNU/Linux
    报错:WARNING
    [root@rhel6 mysql]# scripts/mysql_install_db ‐‐user=mysql
    WARNING: The host 'rhel6.myexample.com' could not be looked up with ./bin/resolveip.
    This probably means that your libc libraries are not 100 % compatible
    with this binary MySQL version. The MySQL daemon, mysqld, should work
    normally with the exception that host name resolving will not work.
    This means that you should use IP addresses instead of hostnames
    when specifying MySQL privileges !
    原因:主机名解析错误。
    解决:hosts文件中添加如下内容,ok!
    [root@rhel6 mysql]# vi /etc/hosts
    192.168.56.20 rhel6.myexample.com
    总结:
    因为lib库不是很兼容当前MySQL版本。在主机名解析不起作用的情况下,会引起MySQL守护进程、mysqld工作异常,因
    此在MySQL中授权时需要使用IP地址,而不能使用主机名。
    (不解决该问题,依然可以正确执行scripts/mysql_install_db数据库初始化脚本。)
    2、数据初始化‐时间戳问题
    系统‐Red Hat Enterprise Linux Server release 6.6
    软件‐源码安装mysql‐5.6.27.tar.gz
    环境‐Linux rhel6.myexample.com 2.6.32504.el6.x86_64 #1 SMP Tue Sep 16 01:56:35 EDT 2014 x86_64
    x86_64 x86_64 GNU/Linux
    报错:Warning
    [root@rhel6 mysql]# scripts/mysql_install_db ‐‐user=mysql
    Installing MySQL system tables...20151104 07:46:37 0 [Warning] TIMESTAMP with implicit DEFAULT
    value is deprecated. Please use ‐‐explicit_defaults_for_timestamp server option (see
    documentation for more details).
    20151104 07:46:37 0 [Note] ./bin/mysqld (mysqld 5.6.27) starting as process 2867 ...
    原因:机器的系统时间与TIMESTAMP时间戳不匹配。
    解决:执行mysql_install_db数据初始化脚本时添加explicit_defaults_for_timestamp选项。
    [root@rhel6 mysql]# scripts/mysql_install_db ‐‐user=mysql ‐‐explicit_defaults_for_timestamp
    3、数据初始化‐重复安装引起多个配置文件,默认配置文件
    系统‐Red Hat Enterprise Linux Server release 6.6
    软件‐源码安装mysql‐5.6.27.tar.gz
    环境‐Linux rhel6.myexample.com 2.6.32504.el6.x86_64 #1 SMP Tue Sep 16 01:56:35 EDT 2014 x86_64
    x86_64 x86_64 GNU/Linux
    报错:Warning
    WARNING: Found existing config file ./my.cnf on the system.
    Because this file might be in use, it was not replaced,
    but was used in bootstrap (unless you used ‐‐defaults‐file)
    and when you later start the server.
    The new default config file was created as ./my‐new.cnf,
    please compare it with your file and take the changes you need.
    WARNING: Default config file /etc/my.cnf exists on the system
    This file will be read by default by the MySQL server
    If you do not want to use this, either remove it, or use the
    ‐‐defaults‐file argument to mysqld_safe when starting the server
    原因:
    Warning1是因为重复安装,导致在安装目录下已经存在my.cnf文件。
    Warning2是指默认的my.cnf配置文件在/etc/目录下。
    启动Mysql server时,可指定‐‐default‐file=/path/my.cnf参数来启动mysql服务。

    13.返回上一级mysql目录,修改data文件及用户组及用户为mysql

    [root@master scripts]# cd ..
    [root@master mysql]# chown ‐R mysql:mysql data

    14.修改mysql密码,之前安装时已经提示如何修改

    /usr/local/mysql/bin/mysqladmin ‐u root password 'new‐password'
    /usr/local/mysql/bin/mysqladmin ‐u root ‐h master password 'new‐password'
    [root@master bin]# ./mysqladmin ‐u root password 'root'

    有可能会出现以下错误

    [root@master bin]# ./mysqladmin ‐u root password 'root'
    ./mysqladmin: connect to server at 'localhost' failed
    error: 'Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)'
    Check that mysqld is running and that the socket: '/tmp/mysql.sock' exists!
    [root@master bin]#

    因为这时还没有启动mysql,这算是一个坑。

    15.启动mysql,进入mysql/support-files文件夹执行命令

    [root@master mysql]# cd support‐files/
    [root@master support‐files]# ls
    binary‐configure magic my‐default.cnf mysqld_multi.server mysql‐log‐rotate mysql.server
    [root@master support‐files]# ./mysql.server start
    Starting MySQL.Logging to '/usr/local/mysql/data/master.err'.
    SUCCESS!
    [root@master support‐files]#

    16.在重新执行命令修改密码

    [root@master bin]# ./mysqladmin ‐u root password 'root'
    Warning: Using a password on the command line interface can be insecure.
    [root@master bin]#

    17.登录mysql

    [root@master bin]# ./mysql ‐uroot ‐p
    Enter password:
    Welcome to the MySQL monitor. Commands end with ; or g.
    Your MySQL connection id is 4
    Server version: 5.6.38 MySQL Community Server (GPL)
    Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
    Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
    mysql>

    18.将其他用户的密码也修改为root

    update mysql.user set password=password('root') where user='root'; flush privileges;
    mysql> update mysql.user set password=password('root') where user='root'; flush privileges;
    Query OK, 3 rows affected (0.00 sec)
    Rows matched: 4 Changed: 3 Warnings: 0
    Query OK, 0 rows affected (0.00 sec)
    mysql>

    19.在Windows上远程连接mysql,此时端口不同,关闭Linux上的防火墙

    [root@master bin]# service iptables stop
    iptables:将链设置为政策 ACCEPT:filter [确定]
    iptables:清除防火墙规则: [确定]
    iptables:正在卸载模块: [确定]
    [root@master bin]#

    此时在Windows上用cmd窗口Telnet Linux服务器3306端口报错

    D•Host '192.168.1.1' is not allowed to connect to
    遗失对主机的连接。
    C:UsersAdministrator>telnet 192.168.1.110 3306

    为解决这一问题,需要本地登陆MySQL后执行如下命令

    mysql> grant all privileges on *.* to root@'%' identified by 'root';
    Query OK, 0 rows affected (0.00 sec)
    mysql> flush privileges;
    Query OK, 0 rows affected (0.00 sec)
    mysql>

    执行之后即可连接成功

     

     20.将mysql加入services服务

    [root@master mysql]# cp support‐files/mysql.server /etc/init.d/mysqld
    [root@master mysql]# chkconfig ‐‐add mysqld
    [root@master mysql]# chkconfig mysqld on
    [root@master mysql]# service mysqld restart
    Shutting down MySQL.... SUCCESS!
    Starting MySQL. SUCCESS!
    [root@master mysql]#

    查看状态

    [root@master mysql]# service mysqld status
    SUCCESS! MySQL running (21838)
    [root@master mysql]#

    21.配置my.cnf

    [root@master mysql]# vi my.cnf
    [mysqld]
    # Remove leading # and set to the amount of RAM for the most important data
    # cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
    # innodb_buffer_pool_size = 128M
    # Remove leading # to turn on a very important data integrity option: logging
    # changes to the binary log between backups.
    # log_bin
    default‐character‐set=utf8
    lower_case_table_names=1
    max_allowed_packet=100M
    # These are commonly set, remove the # and set as required.
    # basedir = .....
    # datadir = .....
    # port = .....
    # server_id = .....
    # socket = .....
    # Remove leading # to set options mainly useful for reporting servers.
    # The server defaults are faster for transactions and fast SELECTs.
    # Adjust sizes as needed, experiment to find the optimal values.
    # join_buffer_size = 128M
    # sort_buffer_size = 2M
    # read_rnd_buffer_size = 2M

     配置好之后充气mysql服务

    [root@master data]# service mysqld restart
    ERROR! MySQL server PID file could not be found!
    Starting MySQL... ERROR! The server quit without updating PID file
    (/usr/local/mysql/data/master.pid).

    此时报错,查看/usr/local/mysql/data/master.err文件发现报错内容

    20180116 04:49:52 22747 [ERROR] /usr/local/mysql/bin/mysqld: unknown variable 'defaultcharacter‐
    set=utf8'
    20180116 04:49:52 22747 [ERROR] Aborting

    my.cnf字符集设置问题,重新设置为character_set_server=utf8

     重新启动解决

    [root@master mysql]# service mysqld restart
    Shutting down MySQL.. SUCCESS!
    Starting MySQL. SUCCESS!
    [root@master mysql]#
  • 相关阅读:
    UVa-133-救济金发放
    UVa-340-猜数字
    UVa-1584-环状序列
    UVa-1585-得分
    UVa-1586-分子量
    BZOJ-3289: Mato的文件管理(莫队算法+树状数组)
    HDU-2824 The Euler function(欧拉函数)
    2017年10月12日22:27:20
    HDU-4715 Difference Between Primes(线性筛法)
    POJ-1185 炮兵阵地(状态压缩DP)
  • 原文地址:https://www.cnblogs.com/qingyunzong/p/8294876.html
Copyright © 2011-2022 走看看