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的位置,然后按前面两种解决方案挑一种做即可。
)
显示正常登录。
以上如有错误直接指正,多谢!