下载安装包并解压到创建目录下
- 上传
[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