Centos二进制安装mysql8.0
yum -y install libaio net-tools
- 解压,添加mysql用户,授权
cd /opt/
tar -xf mysql-8.0.15-linux-glibc2.12-x86_64.tar.xz
mv mysql-8.0.15-linux-glibc2.12-x86_64 mysql
useradd mysql
chown -R mysql.mysql /opt/mysql
- 创建数据目录
mkdir -p /data/mysql/{data,log,binlog,conf,tmp}
chown -R mysql:mysql /data/mysql
- my.cnf 文件编写
vim /data/mysql/conf/my.cnf
[client]
#password = your_password
port = 3306
socket = /tmp/mysql.sock
[mysqld]
mysqlx=0 #关闭33060
lower_case_table_names = 1
user = mysql
server_id = 1
port = 3306
enforce_gtid_consistency = ON
gtid_mode = ON
binlog_checksum = none
default_authentication_plugin = mysql_native_password
datadir = /data/mysql/data
pid-file = /data/mysql/tmp/mysqld.pid
socket = /data/mysql/tmp/mysqld.sock
tmpdir = /data/mysql/tmp/
skip-name-resolve = ON
open_files_limit = 65535
table_open_cache = 2000
#################innodb########################
innodb_data_home_dir = /data/mysql/data
innodb_data_file_path = ibdata1:512M;ibdata2:512M:autoextend
innodb_buffer_pool_size = 4096M
innodb_flush_log_at_trx_commit = 1
innodb_io_capacity = 600
innodb_lock_wait_timeout = 120
innodb_log_buffer_size = 8M
innodb_log_file_size = 200M
innodb_log_files_in_group = 3
innodb_max_dirty_pages_pct = 85
innodb_read_io_threads = 8
innodb_write_io_threads = 8
innodb_thread_concurrency = 32
innodb_file_per_table
innodb_rollback_on_timeout
innodb_undo_directory = /data/mysql/data
innodb_log_group_home_dir = /data/mysql/data
###################session###########################
join_buffer_size = 8M
key_buffer_size = 256M
bulk_insert_buffer_size = 8M
max_heap_table_size = 96M
tmp_table_size = 96M
read_buffer_size = 8M
sort_buffer_size = 2M
max_allowed_packet = 64M
read_rnd_buffer_size = 32M
############log set###################
log-error = /data/mysql/log/mysqld.err
log-bin = /data/mysql/binlog/binlog
expire_logs_days = 7
log_bin_index = /data/mysql/binlog/binlog.index
max_binlog_size = 500M
slow_query_log_file = /data/mysql/log/slow.log
slow_query_log = 1
long_query_time = 10
log_queries_not_using_indexes = ON
log_throttle_queries_not_using_indexes = 10
log_slow_admin_statements = ON
log_output = FILE,TABLE
master_info_file = /data/mysql/binlog/master.info
max_connections = 4190
max_connect_errors = 100
open_files_limit = 65535
[mysqldump]
quick
max_allowed_packet = 500M
[mysql]
no-auto-rehash
[myisamchk]
key_buffer_size = 1024M
sort_buffer_size = 16M
read_buffer = 2M
write_buffer = 2M
[mysqlhotcopy]
interactive-timeout
max_connections=2000
6.初始化
/opt/mysql/bin/mysqld --defaults-file=/data/mysql/conf/my.cnf --initialize-insecure --user=mysql
7.启动mysql
/opt/mysql/bin/mysqld_safe --defaults-file=/data/mysql/conf/my.cnf &
- 查看服务及端口
ps aux |grep mysql
netstat -anptul|grep 3306
9.登录mysql,重置密码,授权。
/opt/mysql/bin/mysql -S /data/mysql/tmp/mysqld.sock
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
UPDATE mysql.user SET Host="%" where User="root"; #让其他机器可以连接
flush privileges;
10.软连接
ln -s /data/mysql/tmp/mysqld.sock /tmp/mysql.sock
11.使用密码登录
/opt/mysql/bin/mysql -uroot -p123456
11.制定启动脚本
chmod + 777 /etc/init.d/mysql
cat /etc/init.d/mysql
#/bin/bash
basedir=/opt/mysql
datadir=/data/mysql/data
config_file=/data/mysql/conf/my.cnf
Mysql_pid=/data/mysql/tmp/mysqld.pid
Mysql_start(){
echo " Mysql start"
${basedir}/bin/mysqld_safe --defaults-file=${config_file} >> /dev/null &
sleep 2
ps aux |grep mysql |grep -v grep>> /dev/null
if [ $? -eq 0 ];
then
echo "success"
else
echo "failed"
fi
}
Mysql_stop(){
echo "Mysql stop "
mysql_pid=`cat ${Mysql_pid}`
kill ${mysql_pid}
rm ${Mysql_pid}
sleep 2
ps aux |grep mysql |grep -v grep>> /dev/null
if [ $? -ne 0 ];
then
echo "success"
fi
}
case $1 in
start)
Mysql_start
;;
stop)
Mysql_stop
;;
restart)
Mysql_stop
sleep 1
Mysql_start
;;
*)
exit
;;
esac
12.启动