一:到mysql官网下载最新的mysql包 mysql-5.7.21-linux-glibc2.12-x86_64
https://dev.mysql.com/downloads/mysql/
二:在linux /usr/local/中解压mysql压缩包 改名为mysql
cd /usr/local/
tar -xzvf mysql压缩包名
三:创建用户组mysql,创建用户mysql并将其添加到用户组mysql中,并赋予读写权限
groupadd mysql --创建mysql用户组组
useradd -r -g mysql mysql --创建mysql用户并添加到mysql用户组中
chown -R mysql mysql/ --将mysql目录访问权限赋为myql用户
chgrp -R mysql mysql/ --改变mysql目录的用户组属于mysql组
注:
chmod 命令
用于改变文件或目录的访问权限。用户用它控制文件或目录的访问权限。
chgrp命令
改变文件或目录所属的组。
-R处理指定目录以及其子目录下的所有文件
四:创建配置文件my.cnf 保存并退出
vim /etc/my.cnf
[client]
port = 3306
socket = /opt/mysql-5.7.21/run/mysql.sock
[mysqld]
port = 3306
socket = /opt/mysql-5.7.21/run/mysql.sock
pid_file = /opt/mysql-5.7.21/run/mysql.pid
datadir = /opt/mysql-5.7.21/data
default_storage_engine = InnoDB
max_allowed_packet = 128M
max_connections = 2048
open_files_limit = 65535
skip-name-resolve
lower_case_table_names=1
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'
innodb_buffer_pool_size = 128M
innodb_log_file_size = 128M
innodb_file_per_table = 1
innodb_flush_log_at_trx_commit = 0
key_buffer_size = 16M
log-error = /opt/mysql-5.7.21/log/mysql_error.log
log-bin = /opt/mysql-5.7.21/log/mysql_bin.log
slow_query_log = 1
slow_query_log_file = /opt/mysql-5.7.21/log/mysql_slow_query.log
long_query_time = 5
tmp_table_size = 16M
max_heap_table_size = 16M
query_cache_type = 0
query_cache_size = 0
server-id=1
(修改自己的路径)
五:安装依赖包
MySQL依赖于libaio 库。如果这个库没有在本地安装,数据目录初始化和后续的服务器启动步骤将会失败。请使用适当的软件包管理器进行安装。例如,在基于Yum的系统上:
#先安装一下这个东东,要不然初始化有可能会报错 yum install libaio
六:初始化mysql
在mysql/bin目录下
mysqld --initialize --user=mysql --basedir=/opt/mysql-5.7.21 --datadir=/opt/mysql-5.7.21/data
查看初始化密码
grep 'temporary password' /opt/mysql-5.7.21/log/mysql_error.log
七:启动mysql
进入mysql/support-files/文件夹
./mysql.server start
注:修改mysql.server中路径
八:开机自动启动
cd mysql/support-files
cp mysql.server /etc/init.d/mysql
chkconfig --add mysql
九:登录mysql, 修改密码, 授权
//登录
mysql/bin/mysql -uroot –p
//设置密码
SET PASSWORD FOR'root'@localhost=PASSWORD('新密码');
//授权
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '新密码' WITH GRANT OPTION;