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、初始化完成后,啟動數據庫
[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]# 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
[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、