1.Downloadhtml
1)在線下載 node
[root@hadoop05 local]# wget https://downloads.mariadb.com/archives/mysql-5.6/mysql-5.6.23-linux-glibc2.5-x86_64.tar.gzmysql
2)或者本地上傳 linux
選擇win的的mysql軟件包web
[root@hadoop05 local]# rzsql
在/usr/local目錄下安裝mysql數據庫
[root@hadoop05 local]# cd /usr/local 在這個目錄下bootstrap
2.Check isnot installcentos
查看mysql進程bash
[root@hadoop05 local]# ps -ef|grep mysqld
root 2493 2423 0 19:48 pts/3 00:00:00 grep mysqld
查看是否有安裝mysql
[root@hadoop05 local]# rpm -qa |grep -i mysql
3.tar and mv
解壓tar文件
[root@hadoop05 local]# tar xzvf mysql-5.6.23-linux-glibc2.5-x86_64.tar.gz
重命名文件
[root@hadoop05 local]# mv mysql-5.6.23-linux-glibc2.5-x86_64 mysql
4.Create group and user
[root@hadoop05 local]# groupadd -g 101 dba
[root@hadoop05 local]# useradd -u 514 -g dba -G root -d /usr/local/mysql mysqladmin
[root@hadoop05 local]# id mysqladmin
uid=514(mysqladmin) gid=101(dba) groups=101(dba),0(root)
生產環境注意:
給你的用戶確定不是root,給普通用戶/123456 (sudo/不帶sudo)
sudo: 建立一個mysql服務的管理的用戶
不 sudo: IT 給你的用戶開啓sudo權限
爲何要建立mysqladmin/dba?
1.一個用戶只對一個組件
2.dba組
要postgresql,pgadmin/dba
能夠不用作
[root@hadoop05 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.
[root@hadoop05 local]#
能夠不用作
## if user mysqladmin is existing,please execute the following command of usermod.
[root@hadoop05 local]# usermod -u 514 -g dba -G root -d /usr/local/mysql mysqladmin #
## copy 環境變量配置文件至mysqladmin用戶的home目錄中,爲了如下步驟配置我的環境變量
[root@hadoop05 local]# cp /etc/skel/.* /usr/local/mysql ###這步很important
cp: omitting directory `/etc/skel/.'
cp: omitting directory `/etc/skel/..'
cp: omitting directory `/etc/skel/.mozilla'
5.Create /etc/my.cnf(640)
#defualt start: /etc/my.cnf->/etc/mysql/my.cnf->SYSCONFDIR/my.cnf->$MYSQL_HOME/my.cnf-> --defaults-extra-file->~/my.cnf
[root@hadoop05 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
6.chown and chmod privileges and try first install
[root@hadoop05 local]# chown mysqladmin:dba /etc/my.cnf
[root@hadoop05 local]# chmod 640 /etc/my.cnf
[root@hadoop05 local]# ll my.cnf
-rw-r----- 1 mysqladmin dba 2201 Aug 25 23:09 my.cnf
[root@hadoop05 local]# chown -R mysqladmin:dba /usr/local/mysql
[root@hadoop05 local]# chmod -R 755 /usr/local/mysql
[root@hadoop05 local]# su - mysqladmin
[root@hadoop05 local]# pwd
/usr/local/mysql
[root@hadoop05 local]# mkdir arch
第一次安裝
[root@hadoop05 local]# scripts/mysql_install_db --user=mysqladmin --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
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
[root@hadoop05 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@hadoop05 local]# rpm -qa |grep gcc
libgcc-4.1.2-46.el5_4.2
libgcc-4.1.2-46.el5_4.2
[root@hadoop05 local]# yum -y install libaio
[root@hadoop05 local]# scripts/mysql_install_db --user=mysqladmin --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
注意:安裝遇到問題:
FATAL ERROR: please install the following Perl modules before executing /usr/bin/mysql_install_db:
Data::Dumper
[root@hadoop05 local]# yum install -y perl-Data-Dumper
7.Again install
[mysqladmin@hadoop05 ~]$ scripts/mysql_install_db --user=mysqladmin --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
Installing MySQL system tables...2018-06-13 20:39:01 0 [Warning] 'THREAD_CONCURRENCY' is deprecated and will be removed in a future release.
2018-06-13 20:39:01 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...2018-06-13 20:39:21 0 [Warning] 'THREAD_CONCURRENCY' is deprecated and will be removed in a future release.
2018-06-13 20:39:21 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 hadoop05 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
Support MySQL by buying support/licenses at http://shop.mysql.com
WARNING: Found existing config file /usr/local/mysql/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 /usr/local/mysql/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
8.Configure mysql service and boot auto start
[root@hadoop05 ~]# cd /usr/local/mysql
#將服務文件拷貝到init.d下,並重命名爲mysql
[root@hadoop05 mysql]# cp support-files/mysql.server /etc/rc.d/init.d/mysql
#賦予可執行權限
[root@hadoop05 mysql]# chmod +x /etc/rc.d/init.d/mysql
#刪除服務
[root@hadoop05 mysql]# chkconfig --del mysql
#添加服務
[root@hadoop05 mysql]# chkconfig --add mysql
[root@hadoop05 mysql]# chkconfig --level 345 mysql on
[root@hadoop05 mysql]# vi /etc/rc.local
#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.
touch /var/lock/subsys/local
su - mysqladmin -c "/etc/init.d/mysql start --federated"
"/etc/rc.local" 9L, 278C written
9.Start mysql and to view process and listening
[root@hadoop05 mysql]# su - mysqladmin
[mysqladmin@hadoop05 ~]$ pwd
/usr/local/mysql
[mysqladmin@hadoop05 ~]$ rm -rf my.cnf
[mysqladmin@hadoop05 ~]$ bin/mysqld_safe &
不要忘記,按回車鍵
先卸載
[root@hadoop05 lib]# rpm --nodeps -e mysql-libs-5.1.71-1.el6.x86_64
改權限
[root@hadoop05 mysql]# chmod -R 757 /var/log
[1] 1434
[mysqladmin@hadoop05 ~]$ 180613 21:01:04 mysqld_safe Logging to '/usr/local/mysql/data/hostname.err'.
180613 21:01:04 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data
[mysqladmin@hadoop05 ~]$ ps -ef|grep mysqld
mysqlad+ 1434 1400 0 21:01 pts/0 00:00:00 /bin/sh bin/mysqld_safe
mysqlad+ 2077 1434 0 21:01 pts/0 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
mysqlad+ 4312 1400 0 21:08 pts/0 00:00:00 grep --color=auto mysqld
[mysqladmin@hadoop05 ~]$ netstat -tulnp | grep mysql
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
tcp6 0 0 :::3306 :::* LISTEN 2077/mysqld
[mysqladmin@hadoop05 ~]$ service mysql status
SUCCESS! MySQL running (2077)
10.Login mysql
[mysqladmin@hadoop05 ~]$ mysqlql
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 |
| mysql |
| performance_schema |
| test |
+--------------------+
4 rows in set (0.00 sec)
11.Update password and Purge user
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;
12.Configure .bash_profile
[mysqladmin@sht-sgmhadoopnn-01 ~]$ cat .bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
MYSQL_BASE=/usr/local/mysql
export MYSQL_BASE
PATH=$PATH:${MYSQL_BASE}/bin:/usr/kerberos/bin:/opt/bin:/bin:/usr/bin:/usr/local/bin:/usr/bin/X11:/usr/X11R6/bin:/usr/local/mysql
export PATH
PS1=`uname -n`":"'$USER'":"'$PWD'":>"; export PS1
alias l="ls -ltr"
alias la="ls -la"
alias d="df -lk"
#alias rm="rm -i"
alias bg="ps -aef|grep mysql"
alias base="cd /usr/local/mysql"
alias bin="cd //usr/local/mysql/bin"
alias dba="cd /usr/local/mysql/dba"
alias sh="cd /usr/local/mysql/dba/sh"
alias sql="cd /usr/local/mysql/dba/sql"
alias config="cd /usr/local/mysql/dba/config"
alias dbalog="cd /usr/local/mysql/dba/log"
alias arch="cd /usr/local/mysql/arch"
alias data="cd /usr/local/mysql/data"
## endendend
Remark:
Error1: File '/usr/local/mysql/arch/mysql-bin.index' not found (Errcode: 13)
test2.localdomain:mysqladmin:/usr/local/mysql/arch:>chmod 755 *
test2.localdomain:mysqladmin:/usr/local/mysql/arch:>chown –R mysqladmin:dba *
***********************************************************************************************************
mysql:root/root
[root@localhost mysql]# ./scripts/mysql_install_db --user=mysql
-bash: ./scripts/mysql_install_db: /usr/bin/perl: bad interpreter: No such file or directory
貌似提示註釋器錯誤,沒有/usr/bin/perl文件或者檔案,解決辦法(安裝perl跟perl-devel便可):
執行 yum -y install perl perl-devel
後在初始化數據庫便可。
bin/mysql_install_db
FATAL ERROR: please install the following Perl modules before executing /usr/bin/mysql_install_db:
Data::Dumper
yum install -y perl-Data-Dumper 便可。