我下载的是版本是mysql5.7.17社区版,具体的下载方法就不介绍,在官网就可以找到。
安装插件
yum -y install gcc glibc libaio libstdc++ libstdc ncurses-libs
解压拷贝
#tar xvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
#mv mysql-5.7.17-linux-glibc2.5-x86_64 /usr/local/mysql
创建mysql用户
#groupadd mysql
#useradd -r -g mysql -s /bin/false mysql
创建mysql的数据目录,该目录在初始化数据库的时候会用到
#mkdir /data
#mkdir -p /data/mysql/data /data/mysql/log
创建my.cnf文件
[client]
port = 3306
socket = /tmp/mysql.sock
[mysqld]
server_id=10
port = 3306
user = mysql
character-set-server = utf8mb4
default_storage_engine = innodb
log_timestamps = SYSTEM
socket = /tmp/mysql.sock
basedir = /usr/local/mysql
datadir = /data/mysql/data
pid-file = /data/mysql/data/mysql.pid
max_connections = 1000
max_connect_errors = 1000
table_open_cache = 1024
max_allowed_packet = 128M
open_files_limit = 65535
#####====================================[innodb]==============================
innodb_buffer_pool_size = 1024M
innodb_file_per_table = 1
innodb_write_io_threads = 4
innodb_read_io_threads = 4
innodb_purge_threads = 2
innodb_flush_log_at_trx_commit = 1
innodb_log_file_size = 512M
innodb_log_files_in_group = 2
innodb_log_buffer_size = 16M
innodb_max_dirty_pages_pct = 80
innodb_lock_wait_timeout = 30
innodb_data_file_path=ibdata1:1024M:autoextend
#####====================================[log]==============================
log-bin= /data/mysql/log/mysql-bin
log_error = /data/mysql/log/mysql-error.log
slow_query_log = 1
long_query_time = 1
slow_query_log_file = /data/mysql/log/mysql-slow.log
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
初始化数据库
在5.7.6之前初始化的方法是:bin/mysql_install_db --user=mysql
我下载的是最新的5.7.17,5.7.6之后的版本初始化数据库不再使用mysql_install_db
#./mysqld --initialize --user=mysql --datadir=/data/mysql --explicit_defaults_for_timestamp
初始化会显示root 密码,请复制下来
然后删掉 ibdata1 ib_logfile0 ib_logfile1 三个文件,因为我的my.cnf 中有定义innodb_data_file_path=ibdata1:1024M:autoextend
然后再新建error 日志log_error = /data/mysql/log/mysql-error.log ,并chmod 777 mysql-error.log
如果配置了my.cnf的log_error,那么初始密码在log_error文件中,否则会打印出来。
启动
/usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my-3306.cnf &
配置环境变量
mysql_home=/usr/local/mysql
PATH=$PATH:$mysql_home/bin
source /etc/profile
修改密码
从log-error 日志中找到密码后登陆进去,执行
#SET PASSWORD = PASSWORD('123456');