Mysql5.6安裝過程


 

 

1、yum -y install lrzsz      ---先安裝上傳文件用的工具,命令行里直接輸入rz即可在本地上傳文件

2、上傳完成后,將文件解壓,解壓后的文件放在/usr/local/下,並建立軟連接

  建立軟連接的目的是:為了方便版本控制

  

    

 

 

 3、接下來按照mysql安裝步驟的操作

/usr/local/mysql/INSTALL-BINARY
以下是該文件中的安裝步驟
cat /usr/local/mysql/INSTALL-BINARY
.....
shell> groupadd mysql
shell> useradd -r -g mysql mysql
shell> cd /usr/local
shell> tar zxvf /path/to/mysql-VERSION-OS.tar.gz
shell> ln -s full-path-to-mysql-VERSION-OS mysql
shell> cd mysql
shell> chown -R mysql .
shell> chgrp -R mysql .
shell> scripts/mysql_install_db --user=mysql
shell> chown -R root .
shell> chown -R mysql data
shell> bin/mysqld_safe --user=mysql &
# Next command is optional
shell> cp support-files/mysql.server /etc/init.d/mysql.server

.....

4、增加msyql的組、用戶,建立軟連接后,把mysql數據庫目錄中文件屬主、屬組修改,按3中的步驟完成

  修改后,應該是除了data是mysql mysql 其他全是root mysql

[root@localhost mysql]# chown -R mysql .
[root@localhost mysql]# chgrp -R mysql .
[root@localhost mysql]# ll
總用量 156
drwxr-xr-x.  2 root  mysql   4096 2月  15 13:49 bin
-rw-r--r--.  1 root  mysql  17987 9月  18 2015 COPYING
drwxr-xr-x.  5 mysql mysql    192 2月  15 13:57 data
drwxr-xr-x.  2 root  mysql     55 2月  15 13:49 docs
drwxr-xr-x.  3 root  mysql   4096 2月  15 13:49 include
-rw-r--r--.  1 root  mysql 105656 9月  18 2015 INSTALL-BINARY
drwxr-xr-x.  3 root  mysql   4096 2月  15 13:48 lib
drwxr-xr-x.  4 root  mysql     30 2月  15 13:49 man
-rw-r--r--.  1 root  root     943 2月  15 13:51 my.cnf
drwxr-xr-x. 10 root  mysql   4096 2月  15 13:49 mysql-test
-rw-r--r--.  1 root  mysql   2496 9月  18 2015 README
drwxr-xr-x.  2 root  mysql     30 2月  15 13:48 scripts
drwxr-xr-x. 28 root  mysql   4096 2月  15 13:48 share
drwxr-xr-x.  4 root  mysql   4096 2月  15 13:49 sql-bench
drwxr-xr-x.  2 root  mysql    136 2月  15 13:48 support-files
因為Linux自帶的Mariadb,會有/etc/my.cnf文件,但配置不對,可能會導致初始化有問題,所以先進行如下操作:
mv /etc/my.cnf /etc/my.cnf.old

5、接下來進行數據庫初始化操作,但是在初始化的時候報了個錯,少了一個依賴包,解決如下:

[root@localhost mysql]# scripts/mysql_install_db --user=mysql
FATAL ERROR: please install the following Perl modules before executing scripts/mysql_install_db:
Data::Dumper
[root@localhost mysql]# yum -y install autoconf

6、安裝完依賴包后,進行初始化,初始化過程不應該有error信息,檢驗是否初始化成功,可以查看mysql數據目錄是否有相應的數據文件生成

[root@localhost mysql]# ll data
總用量 110600
-rw-rw----. 1 mysql mysql 12582912 2月  15 13:51 ibdata1
-rw-rw----. 1 mysql mysql 50331648 2月  15 13:51 ib_logfile0
-rw-rw----. 1 mysql mysql 50331648 2月  15 13:51 ib_logfile1
drwx------. 2 mysql mysql     4096 2月  15 13:51 mysql
drwx------. 2 mysql mysql     4096 2月  15 13:51 performance_schema
drwxr-xr-x. 2 mysql mysql       20 2月  15 13:48 test

 

7、初始化完成后,啟動數據庫

[root@localhost mysql]# ./bin/mysqld_safe --user=mysql &
[1] 9283
[root@localhost mysql]# 200215 13:55:05 mysqld_safe Logging to '/usr/local/mysql/data/localhost.localdomain.err'.
200215 13:55:05 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data
[root@localhost mysql]#
[root@localhost mysql]#
[root@localhost mysql]#
[root@localhost mysql]# ps -ef | grep mysql
root       9216   9107  0 13:50 pts/2    00:00:00 less /usr/local/mysql/INSTALL-BINARY
root       9283   8618  0 13:55 pts/1    00:00:00 /bin/sh ./bin/mysqld_safe --user=mysql
mysql      9373   9283  1 13:55 pts/1    00:00:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/usr/local/mysql/data/localhost.localdomain.err --pid-file=/usr/local/mysql/data/localhost.localdomain.pid
root       9396   8618  0 13:55 pts/1    00:00:00 grep --color=auto mysql
通過mysql_safe啟動進程,mysql_safe是一個守護進程,在mysql進程被 Kill掉后,會重啟Mysql進程,如下所示:
[root@localhost mysql]# kill -9 9373
[root@localhost mysql]# ./bin/mysqld_safe: 行 166:  9373 已殺死               nohup /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/usr/local/mysql/data/localhost.localdomain.err --pid-file=/usr/local/mysql/data/localhost.localdomain.pid < /dev/null >> /usr/local/mysql/data/localhost.localdomain.err 2>&1
200215 13:57:52 mysqld_safe Number of processes running now: 0
200215 13:57:52 mysqld_safe mysqld restarted

 8、不用守護進程mysql_safe,用/usr/local/mysql/bin/mysqld啟動進程,用mysqld啟動進程,沒有了守護進程的存在,在mysql進程宕掉的時候,不會自動重啟

[root@localhost mysql]# ./bin/mysqld --user=mysql &
[1] 10387
[root@localhost mysql]# 2020-02-15 17:30:43 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2020-02-15 17:30:43 0 [Note] ./bin/mysqld (mysqld 5.6.27) starting as process 10387 ...
2020-02-15 17:30:43 10387 [Note] Plugin 'FEDERATED' is disabled.
2020-02-15 17:30:43 10387 [Note] InnoDB: Using atomics to ref count buffer pool pages
2020-02-15 17:30:43 10387 [Note] InnoDB: The InnoDB memory heap is disabled
2020-02-15 17:30:43 10387 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2020-02-15 17:30:43 10387 [Note] InnoDB: Memory barrier is not used
2020-02-15 17:30:43 10387 [Note] InnoDB: Compressed tables use zlib 1.2.3
2020-02-15 17:30:43 10387 [Note] InnoDB: Using Linux native AIO
2020-02-15 17:30:43 10387 [Note] InnoDB: Using CPU crc32 instructions
2020-02-15 17:30:43 10387 [Note] InnoDB: Initializing buffer pool, size = 128.0M
2020-02-15 17:30:43 10387 [Note] InnoDB: Completed initialization of buffer pool
2020-02-15 17:30:43 10387 [Note] InnoDB: Highest supported file format is Barracuda.
2020-02-15 17:30:43 10387 [Note] InnoDB: 128 rollback segment(s) are active.
2020-02-15 17:30:43 10387 [Note] InnoDB: Waiting for purge to start
2020-02-15 17:30:43 10387 [Note] InnoDB: 5.6.27 started; log sequence number 1626017
2020-02-15 17:30:43 10387 [Note] Server hostname (bind-address): '*'; port: 3306
2020-02-15 17:30:43 10387 [Note] IPv6 is available.
2020-02-15 17:30:43 10387 [Note]   - '::' resolves to '::';
2020-02-15 17:30:43 10387 [Note] Server socket created on IP: '::'.
2020-02-15 17:30:43 10387 [Note] Event Scheduler: Loaded 0 events
2020-02-15 17:30:43 10387 [Note] ./bin/mysqld: ready for connections.
Version: '5.6.27'  socket: '/tmp/mysql.sock'  port: 3306  MySQL Community Server (GPL)
[root@localhost mysql]# 

 9、將suportfiles里的mysql.server拷貝到/etc/init.d/下

[root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysqld
[root@localhost mysql]# ps -ef | grep mysql
root       9216   9107  0 13:50 pts/2    00:00:00 less /usr/local/mysql/INSTALL-BINARY
mysql     10387   8618  0 17:30 pts/1    00:00:01 ./bin/mysqld --user=mysql
root      10437   8618  0 17:53 pts/1    00:00:00 grep --color=auto mysql
[root@localhost mysql]# kill -9 10387
[root@localhost mysql]# /etc/init.d/mysqld start
Starting MySQL.. SUCCESS! 
[1]+  已殺死               ./bin/mysqld --user=mysql
[root@localhost mysql]# ps -ef | grep mysql
root       9216   9107  0 13:50 pts/2    00:00:00 less /usr/local/mysql/INSTALL-BINARY
root      10443      1  0 17:54 pts/1    00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/mysql/data --pid-file=/usr/local/mysql/data/localhost.localdomain.pid
mysql     10544  10443  3 17:54 pts/1    00:00:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/usr/local/mysql/data/localhost.localdomain.err --pid-file=/usr/local/mysql/data/localhost.localdomain.pid
root      10571   8618  0 17:54 pts/1    00:00:00 grep --color=auto mysql
[root@localhost mysql]# /etc/init.d/mysqld stop
Shutting down MySQL.. SUCCESS! 
[root@localhost mysql]# ps -ef | grep mysql
root       9216   9107  0 13:50 pts/2    00:00:00 less /usr/local/mysql/INSTALL-BINARY
root      10588   8618  0 17:55 pts/1    00:00:00 grep --color=auto mysql
[root@localhost mysql]# 

10、添加Mysql進程開機自啟動

[root@localhost mysql]# chkconfig --add mysqld
[root@localhost mysql]# chkconfig --list

注:該輸出結果只顯示 SysV 服務,並不包含
原生 systemd 服務。SysV 配置數據
可能被原生 systemd 配置覆蓋。 

      要列出 systemd 服務,請執行 'systemctl list-unit-files'。
      查看在具體 target 啟用的服務請執行
      'systemctl list-dependencies [target]'mysqld 0:關    1:關    2:開    3:開    4:開    5:開    6:關
netconsole      0:關    1:關    2:關    3:關    4:關    5:關    6:關
network         0:關    1:關    2:開    3:開    4:開    5:開    6:關
rhnsd           0:關    1:關    2:開    3:開    4:開    5:開    6:關

因為將啟動腳本添加到/etc/init.d/下 了,所以可以添加開機自啟動

11、redhat已經有一個etc/my.cnf文件了,即mysql的配置文件,在mysql初始化的時候,會 以這個文件里的內容去初始化,如果按照默認的my.cnf去初始化,會有報錯。以前經常遇到過這種情況,報錯先不截圖了。

實際生產環境中,把安裝目錄和數據目錄分開放,一個獨立的盤用來放數據 文件,還有一些其它的參數,比如innodb,redo,undo等(undo參數完不能改,redo還可以改---應該在mysql運行時進行修改,姜誠絨沒有說)相關的參數,innodb_log_file_size=4G(在數據目錄中會有兩個文件生成,輪回覆蓋的寫)一般建議生產上按這個數值來設置,mysql默認的是48M(華夏用的就是48M),在5.5及以前版本中,這個參數設置大的時候,會有Bug,在恢復的時候會非常的緩慢,在5.6及以后的版本中修復了這個問題,恢復起來還是比較快的。其它參數可以看姜誠絨的my.cnf,下邊會帖上來。

12、假如重新安裝mysql時,只要刪除初始化后生成的數據文件(在數據目錄中的所有文件),刪除,可以通過更換壓縮包,更換軟連接操作來換版本。再有就是配置文件my.cnf,可以沒有,也有正常啟動,但是不能有與mysql不匹配的配置文件存在,那樣在初始化和啟動的時候都會報錯,初始化就報錯,更不用說去啟動了。

13、


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM