1、下载 安装包:
# wget https://dev.mysql.com/get/Downloads/MySQL-8.2/mysql-8.2.0-linux-glibc2.28-x86_64.tar.xz
2、解压缩安装包:
# tar xvf mysql-8.2.0-linux-glibc2.28-x86_64.tar.xz
3、移动到安装目录:
# mv mysql-8.2.0-linux-glibc2.28-x86_64 /usr/local/mysql82
4、进入MySQL8目录下赋予777权限(777 读写执行)
# chmod -R 777 /usr/local/mysql82
5、创建MySQL用户组
# groupadd mysql
6、创建mysql用户,-s /bin/false参数指定mysql用户仅拥有所有权,而没有登录权限:
# useradd -m -g mysql -s /bin/false mysql
7、添加用户mysql目录权限
# chown -R mysql:mysql /usr/local/mysql82
8、创建data文件夹:
# cd /usr/local/mysql82/
# mkdir data
9、配置my.cnf文件:
#vi /etc/my.cnf
[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=/usr/local/mysql82
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql82/data
# soket文件,本地连接时使用
socket=/usr/local/mysql82/data/mysql.sock
# 错误日志
log-error=/usr/local/mysql82/data/mysqld.log
# pid文件
pid-file=/usr/local/mysql82/data/mysqld.pid
# 允许最大连接数
max_connections=1000
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务器默认字符集。如果设置此变量,还应设置collation_server以指定字符集的排序规则。
character-set-server=utf8mb4
# 服务器的默认排序规则
collation_server=utf8mb4_0900_ai_ci
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 建议禁用符号链接以防止各种安全风险
symbolic-links=0
# 表名不区分大小写(修改后需要重新初始化mysql)
lower_case_table_names=1
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8mb4
10、初始化MySQL数据库:
# cd /usr/local/mysql82/bin
# ./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql82 --datadir=/usr/local/mysql82/data --user=mysql --initialize
11、查看初始化的MySQL密码:
# cd /usr/local/mysql82/data
# more mysqld.log
... [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: *********
12、启动服务:
# cd /usr/local/mysql82/support-files
# ./mysql.server start
13、添加MySQL到系统进程中,并设置开机启动:
# cp /usr/local/mysql82/support-files/mysql.server /etc/init.d/mysqld
# chmod +x /etc/init.d/mysqld
# systemctl enable mysqld
如果报错:
mysqld.service is not a native service, redirecting to systemd-sysv-install.
Executing: /usr/lib/systemd/systemd-sysv-install enable mysqld
则执行:
# /usr/lib/systemd/systemd-sysv-install enable mysqld
# systemctl start mysqld
14、添加环境变量:
# vi /etc/profile
最后一行增加:
export PATH=/usr/local/mysql82/bin:$PATH
# source /etc/profile
15、登录服务器:
# mysql -h127.0.0.1 -P3306 -uroot -p
> use mysql;
You must reset your password using ALTER USER statement before executing this statement.
以上报错,是因为第一次登录使用时,必须修改初始化密码:
> alter user user() identified by ´你的新密码´;
> flush privileges;
以下为可选,开启远程登录权限:
> select host,user from user;
> update user set host=´%´ where user=´root´;
> select host,user from user;
> flush privileges;