(四)Zabbix_linux安裝mysql5.6

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

                            97ffeef05942babf89bed6394d7147f3.png

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

修改下面兩處

576b2eb3c90bbcf3b4f6a0d5b6f6503a.png

#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

(如果提示:

7c960d2c6d859883c00133e36e9a4239.png

直接在mysql.cnf裏的mysqld下加一行explicit_defaults_for_timestamp 

c2c3aa3b8bc6072f7ed1545280278ba7.png

7、啓動數據庫進程

# service mysqld_3306 start

e5e381101376fc2689cac9b8e54dbeec.png

8、修改root密碼

# /usr/local/mysql/bin/mysql -p -uroot -S /data/mysql_data_3306/mysql.sock

提示輸入密碼,直接回車

21bb97eb6c7f1f85e64ace869028a76c.png

刪除數據庫mysql中的空用戶,

delete from mysql.user where user='';

更新root用戶密碼

update mysql.user set password=PASSWORD('123456') where user='root';

刷新

flush privileges;

8123f566e4203c50491d4b3afd7a6378.png-wh_

測試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/文件夾默認對otherw權限,這樣就可以避免權限問題。

此外,如果發現mysql.sock不在默認的/var/lib/mysql位置,一種解決方法是使用find命令搜索mysql.sock的位置,然後按前面兩種解決方案挑一種做即可。

2b5f7f2222835043401981c4d881c832.png

顯示正常登錄。

以上如有錯誤直接指正,多謝!

 

 

 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章