MySQL系列-二進(jìn)制包安裝(v5.6.51)
一、安裝說(shuō)明
本文使用二進(jìn)制包安裝及簡(jiǎn)單配置MySQL-v5.6.51版本。
5.6版本下載:
https://downloads.mysql.com/archives/community/
在此URL地址頁(yè)面中的“Product Version”選擇5.6的相應(yīng)版本。
本文中使用本地VM虛機(jī)部署測(cè)試。
OS:CentOS Linux release 7.8.2003 (Core) 3.10.0-1160.15.2.el7.x86_64
虛機(jī)配置:2核CPU、4G內(nèi)存
二、清理系統(tǒng)環(huán)境
CentOS 7 版本的系統(tǒng)默認(rèn)自帶安裝了MariaDB,需要先清理。
## 查詢已安裝的mariadb
- rpm -qa |grep mariadb
## 卸載mariadb軟件包,文件名為上述命令查詢出來(lái)的文件
- rpm -e --nodeps mariadb-libs-5.5.65-1.el7.x86_64
三、創(chuàng)建mysql用戶.組及數(shù)據(jù)目錄
- ## 創(chuàng)建數(shù)據(jù)保存目錄
- mkdir -p /data/mysql
- ## 創(chuàng)建用戶組mysql
- groupadd -r mysql
- ## 創(chuàng)建用戶mysql并設(shè)置不能登錄系統(tǒng),指定宿主目錄
- useradd -g mysql -r -s /sbin/nologin -M -d /data/mysql mysql
- ## 修改數(shù)據(jù)保存目錄屬性及權(quán)限
- chown mysql.mysql /data/mysql
- chmod 0700 /data/mysql
四、安裝配置MySQL
1.下載二進(jìn)制包
- cd /data/tools
- wget https://cdn.mysql.com//Downloads/MySQL-5.6/mysql-5.6.51-linux-glibc2.12-x86_64.tar.gz
2.解壓安裝到指定目錄(/usr/local)
- tar xf mysql-5.6.51-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
- cd /usr/local
- ## 創(chuàng)建軟鏈接,方便后續(xù)操作
- ln -sv mysql-5.6.51-linux-glibc2.12-x86_64 mysql
3.創(chuàng)建配置文件
- vi /etc/my.cnf
- //輸入以下內(nèi)容
- [client]
- port = 3306
- socket = /usr/local/mysql/mysql.sock
- default-character-set = utf8mb4
- [mysqld]
- port = 3306
- socket = /usr/local/mysql/mysql.sock
- basedir = /usr/local/mysql
- datadir = /data/mysql
- character-set-server = utf8mb4
- collation-server = utf8mb4_general_ci
- init_connect = 'SET NAMES utf8mb4'
- server-id = 1
- log-slave-updates = true
- skip-external-locking
- skip-name-resolve
- key_buffer_size = 256M
- max_allowed_packet = 64M
- table_open_cache = 256
- sort_buffer_size = 16M
- read_buffer_size = 8M
- read_rnd_buffer_size = 64M
- myisam_sort_buffer_size = 256M
- thread_cache_size = 16
- query_cache_size = 128M
- query_cache_type = 1
- log-bin = mysql-bin
- binlog_format = row
- expire_logs_days = 30
- slow_query_log = on
- long_query_time = 2
- slow_query_log_file = /data/mysql/db-slow.log
- gtid-mode = on
- enforce-gtid-consistency = true
- default-storage-engine = INNODB
- innodb_additional_mem_pool_size = 64M
- innodb_buffer_pool_size = 1G
- innodb_data_file_path = ibdata1:10M:autoextend
- innodb_write_io_threads = 4
- innodb_read_io_threads = 4
- innodb_thread_concurrency = 8
- innodb_flush_log_at_trx_commit = 1
- innodb_log_buffer_size = 16M
- innodb_log_file_size = 512M
- innodb_log_files_in_group = 3
- innodb_max_dirty_pages_pct = 90
- innodb_lock_wait_timeout = 60
- innodb_file_per_table = on
- max_connections = 5000
- interactive_timeout = 28800
- wait_timeout = 28800
- sql_mode = NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
- explicit_defaults_for_timestamp = true
- [mysqldump]
- quick
- max_allowed_packet = 32M
- [mysql]
- no-auto-rehash
- default-character-set = utf8mb4
- [myisamchk]
- key_buffer_size = 128M
- sort_buffer_size = 128M
- read_buffer = 8M
- write_buffer = 8M
- [mysqlhotcopy]
- interactive-timeout
- [mysqld_safe]
- log-error = /data/mysql/mysql_err.log
- pid-file = /data/mysql/mysqld.pid
注:參數(shù)可根據(jù)實(shí)際環(huán)境需求進(jìn)行修改,此處配置僅供參考。
4.修改程序目錄權(quán)限
- cd /usr/local/mysql
- chown -R mysql.mysql .
5.初始化數(shù)據(jù)庫(kù)
- cd /usr/local/mysql
- scripts/mysql_install_db --defaults-file=/etc/my.cnf --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql
注:5.6版本使用mysql_install_db命令初始化數(shù)據(jù),針對(duì)root@localhost用戶不設(shè)置臨時(shí)密碼,客戶端可以直接通過(guò)mysql命令登錄數(shù)據(jù)庫(kù)系統(tǒng)。
6.導(dǎo)出man幫助文件.頭文件及l(fā)ib庫(kù)
- cd /usr/local/mysql
- ## 幫助文件
- echo "MANPATH /usr/local/mysql/man" >> /etc/man.config
- ## 頭文件
- ln -sv /usr/local/mysql/include /usr/include/mysql
- ## lib庫(kù)
- echo '/usr/local/mysql/lib' > /etc/ld.so.conf.d/mysql.conf
- ## 加載動(dòng)態(tài)庫(kù)文件
- ldconfig
7.設(shè)置MySQL環(huán)境變量
- echo '######MySQL' >> /etc/profile
- echo 'PATH=$PATH:/usr/local/mysql/bin' >> /etc/profile
- source /etc/profile
8.配置MySQL服務(wù)管理命令
- cd /usr/local/mysql
- cp support-files/mysql.server /etc/rc.d/init.d/mysqld
9.啟動(dòng)數(shù)據(jù)庫(kù)
- /etc/init.d/mysqld start
- /usr/local/mysql/bin/mysql --version && echo -e "\e[31m mysql install is OK\e[0m"
10.刪除無(wú)用用戶與測(cè)試庫(kù)(可選操作)
- echo -e "delete from mysql.user where user='';" | mysql -uroot -p
- //提示輸入密碼,直接Enter鍵確認(rèn)
- echo -e "delete from mysql.user where host='::1';" | mysql -uroot -p
- echo -e "drop database test;" | mysql -uroot -p
五、設(shè)置root賬號(hào)密碼
1.本機(jī)登錄密碼
- mysql -uroot -p
- //因初始化數(shù)據(jù)時(shí)沒(méi)有設(shè)置密碼,可以按兩次確認(rèn)鍵進(jìn)入數(shù)據(jù)庫(kù)
- mysql> use mysql;
- mysql> update user set password = PASSWORD('123456') where user = 'root';
- mysql> FLUSH PRIVILEGES;
2.遠(yuǎn)程登錄密碼
- # mysql -uroot -p
- //輸入上述步驟中設(shè)置的密碼登錄數(shù)據(jù)庫(kù)
- mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
- mysql> FLUSH PRIVILEGES;
六、服務(wù)管理
啟動(dòng):/etc/init.d/mysqld start
關(guān)閉:/etc/init.d/mysqld stop
重啟:/etc/init.d/mysqld restart
查看狀態(tài):/etc/init.d/mysqld status
配置開(kāi)機(jī)啟動(dòng):echo "/etc/init.d/mysqld start" >> /etc/rc.local