Zabbix_linux安裝mysql5.6
注:zabbix工具鏈接: https://pan.baidu.com/s/1i5KlDYH 密碼: c9jg
一、下載mysql
wget -chttp://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.14-linux-glibc2.5-x86_64.tar.gz/from/http://cdn.mysql.com/-O mysql-5.6.14-linux-glibc2.5-x86_64.tar.gz
二、安裝mysql
1、安裝依賴包
#yum -y install autoconf automake imakelibxml2-devel expat-devel cmake gcc gcc-c++ libaio libaio-devel bzr bisonlibtool ncurses5-devel
2、解壓包並做軟連接
把文件解壓到/usr/local/
#tar -xvzf mysql-5.6.14-linux-glibc2.5-x86_64.tar -C /usr/local
進入/usr/local/目錄
#cd /usr/local/
# ln -s mysql-5.6.14-linux-glibc2.5-x86_64 mysql
3、創建mysql用戶組合用戶,及數據庫存放目錄
# mkdir -p /data/mysql_data_3306
# mkdir -p /data/mysql_log
#mkdir -p /data/log-bin
# groupadd mysql
# useradd mysql -g mysql -M -s /sbin/nologin
# chown -R mysql.mysql /data/mysql_data_3306/ /data/mysql_log/ /data/log-bin/
# chown -R mysql.mysql /usr/local/mysql-5.6.14-linux-glibc2.5-x86_64
4、配置文件
#vi /etc/my.cnf
(把以下內容複製到my.cnf裏,標黃的只是比較好辨識的文件路徑)
[mysqld]
# GENERAL #
user = mysql
default-storage-engine = InnoDB
socket = /data/mysql_data_3306/mysql.sock
pid-file = /data/mysql_data_3306/mysql.pid
port = 3306
# MyISAM #
key_buffer_size = 1344M
myisam_recover = FORCE,BACKUP
# SAFETY #
max_allowed_packet = 16M
max_connect_errors = 1000000
skip_name_resolve
# DATA STORAGE #
datadir = /data/mysql_data_3306/
long_query_time = 1
# BINARY LOGGING #
log-bin = /data/log-bin/mysql-bin-3306
expire-logs-days = 14
sync-binlog = 1
server-id = 1
max_binlog_size = 500M
# REPLICATION #
relay-log = /data/log-bin/relay-bin-3306
slave-net-timeout = 60
# CACHES AND LIMITS #
tmp_table_size = 32M
max_heap_table_size = 32M
max_connections = 500
thread_cache_size = 50
open_files_limit = 65535
table_definition_cache = 4096
table_open_cache = 4096
# INNODB #
innodb_data_file_path =ibdata1:128M;ibdata2:10M:autoextend
innodb_flush_method = O_DIRECT
innodb_log_files_in_group = 2
innodb_lock_wait_timeout = 50
innodb_log_file_size = 256M
innodb_flush_log_at_trx_commit = 1
innodb_file_per_table = 1
innodb_thread_concurrency = 8
innodb_buffer_pool_size = 8G
# LOGGING #
log-error = /data/mysql_log/mysql-error-3306.log
log-queries-not-using-indexes = 1
slow-query-log = 1
long_query_time = 1
slow-query-log-file = /data/mysql_log/mysql-slow-3306.log
# FOR SLAVE #
#binlog-format = ROW
#log-slave-updates = true
#gtid-mode = on
#enforce-gtid-consistency = true
#master-info-repository = TABLE
#relay-log-info-repository = TABLE
#sync-master-info = 1
#slave-parallel-workers = 2
#binlog-checksum = CRC32
#master-verify-checksum = 1
#slave-sql-verify-checksum = 1
#binlog-rows-query-log_events = 1
#report-port = 3306
#report-host = 10.1.1.10
5、系統服務
#cp -af /usr/local/mysql-5.6.14-linux-glibc2.5-x86_64/support-files/mysql.server /etc/init.d/mysqld_3306
# vi /etc/init.d/mysqld_3306
修改下面兩處
#chmod 755 /etc/init.d/mysqld_3306
# chkconfig --add mysqld_3306
#chkconfig --level 345 mysqld_3306 on
6、初始化數據庫
#cd /usr/local/mysql
# ./scripts/mysql_install_db --user=mysql --defaults-file=/etc/my.cnf
(如果提示:
直接在mysql.cnf裏的mysqld下加一行explicit_defaults_for_timestamp
)
7、啓動數據庫進程
# service mysqld_3306 start
8、修改root密碼
# /usr/local/mysql/bin/mysql -p -uroot -S /data/mysql_data_3306/mysql.sock
提示輸入密碼,直接回車
刪除數據庫mysql中的空用戶,
delete from mysql.user where user='';
更新root用戶密碼
update mysql.user set password=PASSWORD('123456') where user='root';
刷新
flush privileges;
測試root登錄
注意:如果提示ERROR2002 (HY000): Can't connect to local MySQL server through socket'/tmp/mysql.sock' (2)錯誤,
把mysql.sock做軟件接
#ln -s /data/mysql_data_3306/mysql.sock /tmp/mysql.sock
(擴展:
但是要保證使用mysql的用戶具有對該目錄的寫權限,否則這樣的改動由於權限限制仍然會報錯。
所以爲了避免權限問題也可以使用軟鏈接爲/var/lib/mysql/mysql.sock創建一個到/tmp/mysql.sock的聯接
ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
由於/tmp/文件夾默認對other有w權限,這樣就可以避免權限問題。
此外,如果發現mysql.sock不在默認的/var/lib/mysql位置,一種解決方法是使用find命令搜索mysql.sock的位置,然後按前面兩種解決方案挑一種做即可。
)
顯示正常登錄。
以上如有錯誤直接指正,多謝!