021-centos6.5上二进制安装mysql5.7.22
思路:
下载上传mysql的二进制安装包。
准备好mysql的用户、安装目录basedir、数据目录datadir、配置文件/etc/my.cnf。
初始化出数据库。
配置启动服务。
开机启动。
配置环境变量。
重置密码。
--------------------------------------------------------
--------------------------------------------------------
0、创建无登录的mysql用户:# useradd mysql -s /sbin/nologin -M。
1、官网下载mysql的二进制安装包。
2、先安装好rz/sz命令:#yum -y install lrzsz。然后利用rz在xshell上面来上传下载的mysql二进制安装包。
3、解压二进制安装包到指定的basedir目录。因为二进制安装包,解压后就是一个安装路径,因此需要规划一个安装路径。比如我想设置安装路径为/usr/local/mysql。因为/usr/local路径下面没有mysql目录,因此需要新建它(mkdir /usr/local/mysql),然后解压二进制安装包到该路径下面:# tar -xzvf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz -C /usr/local/mysql。此时安装路径下面的内容是如下内容。
4、创建datadir路径,并指定mysql目录下的所有文件的文件所有者和文件所属组都是mysql用户:# mkdir -p /data/mysql/data。chown -R mysql.mysql /data/mysql。
5、配置/etc/my.cnf文件。内容如下:特别是basedir和datadir不能错,日志相关的路径也不能错。
[client]
port = 3306
socket = /tmp/mysql.sock
[mysqld]
#skip-grant-tables
server_id=10
port = 3306
user = mysql
character-set-server = utf8
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_error = /data/mysql/data/mysql-error.log
slow_query_log = 1
long_query_time = 1
slow_query_log_file = /data/mysql/data/mysql-slow.log
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
6、初始化数据库。根据basedir里面的文件和配置文件/etc/my.cnf来初始化。#cd /usr/local/mysql
#./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/data。执行后查看错误日志文件,如果里面没有ERROR项,那么初始化成功。初始化后会在datadir目录中形成基本的数据文件。如果初始化失败,那么再初始化时,必须先将datadir目录中的文件删除干净。
7、拷贝服务的启动脚本到/etc/init.d目录下面,并重命名为mysqld,然后修改mysqld文件的权限为755。
#cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
#chmod 755 /etc/init.d/mysqld
8、配置服务开机自启动。
#chkconfig mysqld on
9、配置环境变量PATH。
#echo 'PATH=/usr/local/mysql/bin/:$PATH' >> /etc/profile
10、重置密码。先在配置文件/etc/my.cnf中的[mysqld]项添加skip-grant-tables,然后重启服务器:# service mysqld restart。然后修改密码字段和host字段