MySQL二进制部署

下载安装包并解压到创建目录下

  • 上传
    [root@sht-sgmhadoopnn-01 ~]# mkdir /usr/local
    [root@sht-sgmhadoopnn-01 ~]# cd /usr/local
    [root@sht-sgmhadoopnn-01 local]# rz
  • 解压
    [root@sht-sgmhadoopnn-01 local]# tar -xzvf mysql-5.6.23-linux-glibc2.5-x86_64.tar.gz
  • 重命名(或设置软链接)
    [root@sht-sgmhadoopnn-01 local]# mv mysql-5.6.23-linux-glibc2.5-x86_64 mysql

检查是否安装过mysql

  • [root@sht-sgmhadoopnn-01 local]# ps -ef|grep mysqld
    root 2493 2423 0 19:48 pts/3 00:00:00 grep mysqld
    [root@sht-sgmhadoopnn-01 local]# rpm -qa |grep -i mysql

创建mysqladmin用户

  • 创建mysqladmin用户和dba用户组用来管理mysql数据库(用root用户或带有sudo权限的用户)
    [root@sht-sgmhadoopnn-01 local]# groupadd -g 101 dba
    [root@sht-sgmhadoopnn-01 local]# useradd -u 514 -g dba -G root -d /usr/local/mysql mysqladmin

    -u:uid 为514

    -g:用户组为dba

    -G:其他用户为root

    -d:创建到指定目录下
    [root@sht-sgmhadoopnn-01 local]# id mysqladmin
    uid=514(mysqladmin) gid=101(dba) groups=101(dba),0(root)

  • 修改用户密码
    [root@sht-sgmhadoopnn-01 local]# passwd mysqladmin
    Changing password for user mysqladmin.
    New UNIX password:
    BAD PASSWORD: it is too simplistic/systematic
    Retype new UNIX password:
    passwd: all authentication tokens updated successfully.
  • mysqladmin用户存在时,用usermod
    [root@sht-sgmhadoopnn-01 local]# usermod -u 514 -g dba -G root -d /usr/local/mysql mysqladmin

为mysql目录cp环境变量配置文件

  • [root@sht-sgmhadoopnn-01 local]# cp /etc/skel/.* /usr/local/mysql
    cp: omitting directory `/etc/skel/.’

    cp: omitting directory `/etc/skel/..’

    cp: omitting directory `/etc/skel/.mozilla’

在/etc目录下创建配置my.cnf

  • 默认启动顺序
    /etc/my.cnf->/etc/mysql/my.cnf->SYSCONFDIR/my.cnf->$MYSQL_HOME/my.cnf-> –defaults-extra-file->~/my.cnf

配置my.cnf文件

[root@sht-sgmhadoopnn-01 ~]# vi /etc/my.cnf
[client]
port            = 3306
socket          = /usr/local/mysql/data/mysql.sock

[mysqld]
port            = 3306
socket          = /usr/local/mysql/data/mysql.sock

skip-external-locking
key_buffer_size = 256M
sort_buffer_size = 2M
read_buffer_size = 2M
read_rnd_buffer_size = 4M
query_cache_size= 32M
max_allowed_packet = 16M
myisam_sort_buffer_size=128M
tmp_table_size=32M

table_open_cache = 512
thread_cache_size = 8
wait_timeout = 86400
interactive_timeout = 86400
max_connections = 600

 # Try number of CPU's*2 for thread_concurrency
thread_concurrency = 32

 #isolation level and default engine 
default-storage-engine = INNODB
transaction-isolation = READ-COMMITTED

server-id  = 1
basedir     = /usr/local/mysql
datadir     = /usr/local/mysql/data
pid-file     = /usr/local/mysql/data/hostname.pid  ##**可修改**

 #open performance schema
log-warnings
sysdate-is-now

binlog_format = MIXED
log_bin_trust_function_creators=1
log-error  = /usr/local/mysql/data/hostname.err   ##**可修改hostname为自己机器名**
log-bin=/usr/local/mysql/arch/mysql-bin
 #other logs
 #general_log =1
 #general_log_file  = /usr/local/mysql/data/general_log.err
 #slow_query_log=1
 #slow_query_log_file=/usr/local/mysql/data/slow_log.err

 #for replication slave
 #log-slave-updates 
 #sync_binlog = 1

 #for innodb options 
innodb_data_home_dir = /usr/local/mysql/data/
innodb_data_file_path = ibdata1:500M:autoextend
innodb_log_group_home_dir = /usr/local/mysql/arch   ##**归档目录,后面需手工创建**
innodb_log_files_in_group = 2
innodb_log_file_size = 200M

innodb_buffer_pool_size = 2048M      ##**根据当前剩余内存设置,最小1024M**
innodb_additional_mem_pool_size = 50M
innodb_log_buffer_size = 16M

innodb_lock_wait_timeout = 100
 #innodb_thread_concurrency = 0
innodb_flush_log_at_trx_commit = 1
innodb_locks_unsafe_for_binlog=1

 #innodb io features: add for mysql5.5.8
performance_schema
innodb_read_io_threads=4
innodb-write-io-threads=4
innodb-io-capacity=200
 #purge threads change default(0) to 1 for purge
innodb_purge_threads=1
innodb_use_native_aio=on

 #case-sensitive file names and separate tablespace
innodb_file_per_table = 1
lower_case_table_names=1

[mysqldump]
quick
max_allowed_packet = 16M

[mysql]
no-auto-rehash

[mysqlhotcopy]
interactive-timeout

[myisamchk]
key_buffer_size = 256M
sort_buffer_size = 256M
read_buffer = 2M
write_buffer = 2M

修改my.cnf文件权限

  • [root@sht-sgmhadoopnn-01 local]# chown mysqladmin:dba /etc/my.cnf
    [root@sht-sgmhadoopnn-01 local]# chmod 640 /etc/my.cnf
    [root@sht-sgmhadoopnn-01 etc]# ll my.cnf
    -rw-r—– 1 mysqladmin dba 2201 Aug 25 23:09 my.cnf

修改mysql文件夹权限

  • [root@sht-sgmhadoopnn-01 local]# chown -R mysqladmin:dba /usr/local/mysql
    [root@sht-sgmhadoopnn-01 local]# chmod -R 755 /usr/local/mysql
    若使用软连接,则需注意修改软连接及软连接下文件权限

创建归档文件夹

[root@sht-sgmhadoopnn-01 local]# su - mysqladmin
[mysqladmin@sht-sgmhadoopnn-01 ~]$ pwd
/usr/local/mysql

[mysqladmin@sht-sgmhadoopnn-01 ~]$ mkdir arch

初次安装

    [mysqladmin@sht-sgmhadoopnn-01 ~]$ scripts/mysql_install_db  --user=mysqladmin --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data 
    Installing MySQL system tables...2015-08-25 22:49:02 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
    2015-08-25 22:49:02 11713 [Note] InnoDB: Using atomics to ref count buffer pool pages
    2015-08-25 22:49:02 11713 [Note] InnoDB: The InnoDB memory heap is disabled
    2015-08-25 22:49:02 11713 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
    2015-08-25 22:49:02 11713 [Note] InnoDB: Memory barrier is not used
    2015-08-25 22:49:02 11713 [Note] InnoDB: Compressed tables use zlib 1.2.3
    2015-08-25 22:49:02 11713 [Note] InnoDB: Using Linux native AIO
    2015-08-25 22:49:02 11713 [Note] InnoDB: Using CPU crc32 instructions
    2015-08-25 22:49:02 11713 [Note] InnoDB: Initializing buffer pool, size = 128.0M
    2015-08-25 22:49:02 11713 [Note] InnoDB: Completed initialization of buffer pool
    2015-08-25 22:49:02 11713 [Note] InnoDB: The first specified data file ./ibdata1 did not exist: a new database to be created!
    2015-08-25 22:49:02 11713 [Note] InnoDB: Setting file ./ibdata1 size to 12 MB
    2015-08-25 22:49:02 11713 [Note] InnoDB: Database physically writes the file full: wait...
    2015-08-25 22:49:03 11713 [Note] InnoDB: Setting log file ./ib_logfile101 size to 48 MB
    2015-08-25 22:49:07 11713 [Note] InnoDB: Setting log file ./ib_logfile1 size to 48 MB
    2015-08-25 22:49:12 11713 [Note] InnoDB: Renaming log file ./ib_logfile101 to ./ib_logfile0
    2015-08-25 22:49:12 11713 [Warning] InnoDB: New log files created, LSN=45781
    2015-08-25 22:49:12 11713 [Note] InnoDB: Doublewrite buffer not found: creating new
    2015-08-25 22:49:12 11713 [Note] InnoDB: Doublewrite buffer created
    2015-08-25 22:49:12 11713 [Note] InnoDB: 128 rollback segment(s) are active.
    2015-08-25 22:49:12 11713 [Warning] InnoDB: Creating foreign key constraint system tables.
    2015-08-25 22:49:12 11713 [Note] InnoDB: Foreign key constraint system tables created
    2015-08-25 22:49:12 11713 [Note] InnoDB: Creating tablespace and datafile system tables.
    2015-08-25 22:49:12 11713 [Note] InnoDB: Tablespace and datafile system tables created.
    2015-08-25 22:49:12 11713 [Note] InnoDB: Waiting for purge to start
    2015-08-25 22:49:12 11713 [Note] InnoDB: 5.6.23 started; log sequence number 0
    2015-08-25 22:49:13 11713 [Note] Binlog end
    2015-08-25 22:49:13 11713 [Note] InnoDB: FTS optimize thread exiting.
    2015-08-25 22:49:13 11713 [Note] InnoDB: Starting shutdown...
    2015-08-25 22:49:15 11713 [Note] InnoDB: Shutdown completed; log sequence number 1625977
    OK

    Filling help tables...2015-08-25 22:49:15 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
    2015-08-25 22:49:15 11735 [Note] InnoDB: Using atomics to ref count buffer pool pages
    2015-08-25 22:49:15 11735 [Note] InnoDB: The InnoDB memory heap is disabled
    2015-08-25 22:49:15 11735 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
    2015-08-25 22:49:15 11735 [Note] InnoDB: Memory barrier is not used
    2015-08-25 22:49:15 11735 [Note] InnoDB: Compressed tables use zlib 1.2.3
    2015-08-25 22:49:15 11735 [Note] InnoDB: Using Linux native AIO
    2015-08-25 22:49:15 11735 [Note] InnoDB: Using CPU crc32 instructions
    2015-08-25 22:49:15 11735 [Note] InnoDB: Initializing buffer pool, size = 128.0M
    2015-08-25 22:49:15 11735 [Note] InnoDB: Completed initialization of buffer pool
    2015-08-25 22:49:15 11735 [Note] InnoDB: Highest supported file format is Barracuda.
    2015-08-25 22:49:15 11735 [Note] InnoDB: 128 rollback segment(s) are active.
    2015-08-25 22:49:15 11735 [Note] InnoDB: Waiting for purge to start
    2015-08-25 22:49:15 11735 [Note] InnoDB: 5.6.23 started; log sequence number 1625977
    2015-08-25 22:49:15 11735 [Note] Binlog end
    2015-08-25 22:49:15 11735 [Note] InnoDB: FTS optimize thread exiting.
    2015-08-25 22:49:15 11735 [Note] InnoDB: Starting shutdown...
    2015-08-25 22:49:17 11735 [Note] InnoDB: Shutdown completed; log sequence number 1625987
    OK

    To start mysqld at boot time you have to copy
    support-files/mysql.server to the right place for your system

    PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
    To do so, start the server, then issue the following commands:

      ./bin/mysqladmin -u root password 'new-password'
      ./bin/mysqladmin -u root -h sht-sgmhadoopnn-01 password 'new-password'

    Alternatively you can run:

      ./bin/mysql_secure_installation

    which will also give you the option of removing the test
    databases and anonymous user created by default.  This is
    strongly recommended for production servers.

    See the manual for more instructions.

    You can start the MySQL daemon with:

      cd . ; ./bin/mysqld_safe &

    You can test the MySQL daemon with mysql-test-run.pl

      cd mysql-test ; perl mysql-test-run.pl

    Please report any problems at http://bugs.mysql.com/

    The latest information about MySQL is available on the web at

      http://www.mysql.com

    Support MySQL by buying support/licenses at http://shop.mysql.com
    New default config file was created as ./my.cnf and
    will be used by default by the server when you start it.
    You may edit this file to change server settings

    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

缺少libaio解决方法

  • [root@sht-sgmhadoopnn-01 local]# cat /proc/version
    Linux version 2.6.18-164.11.1.el5 (mockbuild@builder10.centos.org) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-46)) #1 SMP Wed Jan 20 07:32:21 EST 2010

    [root@sht-sgmhadoopnn-01 local]# rpm -qa |grep gcc
    libgcc-4.1.2-46.el5_4.2
    libgcc-4.1.2-46.el5_4.2
    [root@sht-sgmhadoopnn-01 local]# yum -y install libaio

  • 再次安装
    [mysqladmin@sht-sgmhadoopnn-01~]$scripts/mysql_install_db –user=mysqladmin –basedir=/usr/local/mysql –datadir=/usr/local/mysql/data

拷贝服务文件

  • [root@sht-sgmhadoopnn-01 ~]# cd /usr/local/mysql
    [root@sht-sgmhadoopnn-01 mysql]# cp support-files/mysql.server /etc/rc.d/init.d/mysql
    [root@sht-sgmhadoopnn-01 mysql]# chmod +x /etc/rc.d/init.d/mysql ##对文件赋可执行权限

设置开机自启动

  • [root@sht-sgmhadoopnn-01 mysql]# chkconfig –del mysql ##初次安装不需要删除
    [root@sht-sgmhadoopnn-01 mysql]# chkconfig –add mysql
    [root@sht-sgmhadoopnn-01 mysql]# chkconfig –level 345 mysql on ##345为开机自启动

删除mysql目录下my.cnf

  • [root@sht-sgmhadoopnn-01 mysql]# su - mysqladmin
    [mysqladmin@sht-sgmhadoopnn-01 ~]$ pwd
    /usr/local/mysql

    [mysqladmin@sht-sgmhadoopnn-01 ~]$ rm -rf my.cnf

安全启动

  • [mysqladmin@sht-sgmhadoopnn-01 ~]$ bin/mysqld_safe & ##启动完按回车

    [1] 11802
    [mysqladmin@sht-sgmhadoopnn-01 ~]$ 150825 22:53:38 mysqld_safe Logging to ‘/usr/local/mysql/data/hostname.err’.
    150825 22:53:38 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data/
    150825 22:53:39 mysqld_safe mysqld from pid file /usr/local/mysql/data/hostname.pid ended

    若修改my.cnf中的hostname,则这里的.err文件也会相应的修改

查看进程和端口号

  • [mysqladmin@sht-sgmhadoopnn-01 ~]$ ps -ef|grep mysqld
    514 6247 6219 0 17:30 pts/1 00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe
    514 6902 6247 2 17:30 pts/1 00:00:01 /usr/local/mysql/bin/mysqld –basedir=/usr/local/mysql –datadir=/usr/local/mysql/data –plugin-dir=/usr/local/mysql/lib/plugin –log-error=/usr/local/mysql/data/hostname.err –pid-file=/usr/local/mysql/data/hostname.pid –socket=/usr/local/mysql/data/mysql.sock –port=3306
    514 6927 6219 0 17:31 pts/1 00:00:00 grep mysqld

    [mysqladmin@sht-sgmhadoopnn-01 ~]$ netstat -nlp | grep mysqld
    (Not all processes could be identified, non-owned process info
    will not be shown, you would have to be root to see it all.)
    tcp 0 0 :::3306 :::* LISTEN 11541/mysqld

    [root@sht-sgmhadoopnn-01 local]# service mysql status
    MySQL running (21507) [ OK ]

登陆

  • [mysqladmin@sht-sgmhadoopnn-01 ~]$ mysql
    Welcome to the MySQL monitor. Commands end with ; or \g.
    Your MySQL connection id is 1
    Server version: 5.6.23-log MySQL Community Server (GPL)

    Copyright (c) 2000, 2015, 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>

设置密码,以mysql -uroot -p123456登陆

  • 这一步的作用会在后面启动hive时显现,hive启动mysql时配置文件配置的是以密码登陆,不一致的话会导致启动hive报错
    mysql> use mysql
    Database changed
    mysql> update user set password=password(‘123456’) where user=’root’;
    Query OK, 4 rows affected (0.00 sec)
    Rows matched: 4 Changed: 4 Warnings: 0
    mysql> select host,user,password from user;
    +—————-+——+——————————————-+
    | host | user | password |
    +—————-+——+——————————————-+
    | localhost | root | *6340BE3C15D246B0D74BAF3F135915ED19E0069F |
    | sht-sgmhadoopnn-01 | root | *6340BE3C15D246B0D74BAF3F135915ED19E0069F |
    | 127.0.0.1 | root | *6340BE3C15D246B0D74BAF3F135915ED19E0069F |
    | ::1 | root | *6340BE3C15D246B0D74BAF3F135915ED19E0069F |
    | localhost | | |
    | sht-sgmhadoopnn-01 | | |
    +—————-+——+——————————————-+
    6 rows in set (0.00 sec)

    mysql> delete from user where user=”;
    mysql> select host,user,password from user;
    +—————-+——+——————————————-+
    | host | user | password |
    +—————-+——+——————————————-+
    | localhost | root | *6340BE3C15D246B0D74BAF3F135915ED19E0069F |
    | sht-sgmhadoopnn-01 | root | *6340BE3C15D246B0D74BAF3F135915ED19E0069F |
    | 127.0.0.1 | root | *6340BE3C15D246B0D74BAF3F135915ED19E0069F |
    | ::1 | root | *6340BE3C15D246B0D74BAF3F135915ED19E0069F |
    +—————-+——+——————————————-+
    4 rows in set (0.00 sec)
    mysql> flush privileges; ##对权限问题操作后,一定要执行的命令

卸载mysql重新安装操作

  • [mysqladmin@rzdatahadoop001 ~]$ rm -rf data

    [mysqladmin@rzdatahadoop001 ~]$ rm -rf arch/*

    [mysqladmin@rzdatahadoop001 ~]$ scripts/mysql_install_db –user=mysqladmin –basedir=/usr/local/mysql –datadir=/usr/local/mysql/data

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值