tar -xvf mysql-8.0.25-linux-glibc2.12-x86_64.tar.xz
移动解压出的MySQL目录至指定目录,并重命名mysql8.0.25
mv mysql-8.0.25-linux-glibc2.12-x86_64 /data/server/mysql8.0.25
配置/etc/my.cnf文件
[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=/data/server/mysql8.0.25
# 设置mysql数据库的数据的存放目录
datadir=/data/server/data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
#mysql_native_password
default_authentication_plugin=mysql_native_password
#default-time-zone=‘+08:00‘
#sql_mode="STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8
创建mysql用户组及用户,并授权
# 给应用目录赋权
chown -R mysql:mysql /data/server/mysql-8.0.25
# 给数据目录授权
chown -R mysql:mysql /data/server/data
# 给日志文件授权
chown -R mysql:mysql /data/server/logs/mysql/xx.log
初始化
./mysqld --defaults-file=/etc/my.cnf --user=mysql --initialize
配置全局服务并启动
# 将/data/server/mysql-8.0.25/support-files/目录下 mysql.server文件复制至/etc/init.d/目录并重命名至mysql
cp /data/server/mysql-8.0.25/support-files/mysql.server /etc/init.d/mysql
# 启动mysql服务
serivice mysql start
# 创建软链接,全局可使用mysql指令
ln -s /data/server/mysql/bin/mysql /user/bin
密码配置
# mysql8 已经无法使用老版本的SET PASSWORD函数来修改密码,采用以下两种方式修改
# 方式一(推荐)
alter user ‘root‘@‘localhost‘ identified by ‘123456‘;
# 方式二(需要前往mysqladmin目录)
mysqladmin -u root -p ‘旧密码‘ password ‘新密码‘
创建新用户(远程访问,并授权)
# 创建用户 % 代表所有IP可访问
create user ‘用户名‘@‘%‘ identified by ‘密码‘;
# 授权
grant all privileges on 数据库.指定表名 to ‘test1‘@‘localhost‘;
# all privileges(select,insert,update,delete) 等同上一句
grant select,insert,update,delete privileges on 数据库.指定表名 to ‘test1‘@‘localhost‘;
# 查询用户详情
show grants for ‘用户名‘@‘%‘;
原文:https://www.cnblogs.com/xiaoxingxingyu/p/14833166.html