MySQL下载
对于下载,可以采用wget的方式下载,具体网址去官网找找,将地址复制
可以采用win系统下载,用传输工具的方式例:WinSCP,传输到Linux系统上
这是我的压缩包位置,大家可以随意放置
MySQL解压
将mysql解压到/usr/local目录
tar -zxvf /home/hadoop/mysql-5.6.23-linux-glibc2.5-x86_64.tar.gz -C /usr/local
将mysql-5.6.23-linux-glibc2.5-x86_64.tar.gz更名为mysql
mv mysql-5.6.23-linux-glibc2.5-x86_64 mysql
建立用户和用户组
建立用户作为数据库的管理用户
建立用户组 名字为dba
groupadd -g 101 dba
建立用户 名字为mysqladmin
useradd -u 514 -g dba -G root -d /usr/local/mysql mysqladmin
验证是否成功
[root@hadoop hadoop]# id mysqladmin
uid=514(mysqladmin) gid=101(dba) groups=101(dba),0(root)
设置密码和copy环境变量
设置密码
[root@hadoop local]# passwd mysqladmin
Changing password for user mysqladmin.
New password:
BAD PASSWORD: it is too simplistic/systematic
BAD PASSWORD: is too simple
Retype new password:
passwd: all authentication tokens updated successfully.
copy 环境变量配置文件至mysqladmin用户的home目录中,为了以下步骤配置个人环境变量
[root@hadoop local]# cp /etc/skel/.* /usr/local/mysql
cp: omitting directory `/etc/skel/.'
cp: omitting directory `/etc/skel/..'
cp: omitting directory `/etc/skel/.gnome2'
cp: omitting directory `/etc/skel/.mozilla
创建my.cnf文件
在/etc/my.cnf文件中将下面代码覆盖
[root@hadoop local]# vi /etc/my.cnf
将下面内容写到my.cnf
[root@hadoop local]# 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
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
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@hadoop local]# chown mysqladmin:dba /etc/my.cnf
[root@hadoop local]# chmod 640 /etc/my.cnf
[root@hadoop local]# ll /etc/my.cnf
-rw-r-----. 1 mysqladmin dba 2218 Dec 7 12:23 /etc/my.cnf
[root@hadoop ~]# chown -R mysqladmin:dba /usr/local/mysql
[root@hadoop ~]# chmod -R 755 /usr/local/mysql
[root@hadoop ~]# su - mysqladmin
[mysqladmin@hadoop ~]$ mkdir arch
试着第一次安装
[mysqladmin@sht-sgmhadoopnn-01 ~]$ scripts/mysql_install_db --user=mysqladmin --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data ###import
Installing MySQL system tables..../bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory #缺少libaio.so 包
做以下操作
###see version
[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
Loaded plugins: fastestmirror
Determining fastest mirrors
base-tn54 | 1.1 kB 00:00
tn-appv1 | 951 B 00:00
updates-tn54 | 951 B 00:00
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package libaio.i386 0:0.3.106-3.2 set to be updated
---> Package libaio.x86_64 0:0.3.106-3.2 set to be updated
--> Finished Dependency Resolution
Dependencies Resolved
==============================================================================================================================
Package Arch Version Repository Size
==============================================================================================================================
Installing:
libaio i386 0.3.106-3.2 base-tn54 19 k
libaio x86_64 0.3.106-3.2 base-tn54 19 k
Transaction Summary
==============================================================================================================================
Install 2 Package(s)
Update 0 Package(s)
Remove 0 Package(s)
Total download size: 38 k
Downloading Packages:
(1/2): libaio-0.3.106-3.2.i386.rpm | 19 kB 00:00
(2/2): libaio-0.3.106-3.2.x86_64.rpm | 19 kB 00:00
------------------------------------------------------------------------------------------------------------------------------
Total 452 kB/s | 38 kB 00:00
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : libaio 1/2
Installing : libaio 2/2
Installed:
libaio.i386 0:0.3.106-3.2 libaio.x86_64 0:0.3.106-3.2
Complete!
再次安装
[mysqladmin@sht-sgmhadoopnn-01 ~]$ scripts/mysql_install_db --user=mysqladmin --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
Installing MySQL system tables...2017-12-07 17:34:13 0 [Warning] 'THREAD_CONCURRENCY' is deprecated and will be removed in a future release.
2017-12-07 17:34:13 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
OK
Filling help tables...2017-12-07 17:34:42 0 [Warning] 'THREAD_CONCURRENCY' is deprecated and will be removed in a future release.
2017-12-07 17:34:42 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
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:
/usr/local/mysql/bin/mysqladmin -u root password 'new-password'
/usr/local/mysql/bin/mysqladmin -u root -h hadoop password 'new-password'
Alternatively you can run:
/usr/local/mysql/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 . ; /usr/local/mysql/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 /usr/local/mysql/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
配置服务和自启动MySQL
root@hadoop ~]# cd /usr/local/mysql
[root@hadoop mysql]# cp support-files/mysql.server /etc/rc.d/init.d/mysql
cp: overwrite `/etc/rc.d/init.d/mysql'?
[root@hadoop mysql]# chmod +x /etc/rc.d/init.d/mysql
[root@hadoop mysql]# chkconfig --del mysql
[root@hadoop mysql]# chkconfig --add mysql
[root@hadoop mysql]# chkconfig --level 345 mysql on
启动MySQL
[mysqladmin@hadoop ~]$ rm -rf my.cnf
[mysqladmin@hadoop ~]$ bin/mysqld_safe &
[1] 2831
[mysqladmin@hadoop ~]$ 171207 17:40:27 mysqld_safe Logging to '/usr/local/mysql/data/hostname.err'.
171207 17:40:27 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data
[mysqladmin@hadoop ~]$ service mysql status
MySQL running (3474) [ OK ]
进入MySQL
[mysqladmin@hadoop ~]$ bin/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> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| test |
+--------------------+
2 rows in set (0.05 sec)