Linux源码安装mysql8.0

11 篇文章 0 订阅

安装包下载地址:

https://cdn.mysql.com/archives/mysql-8.0/mysql-8.0.30-el7-x86_64.tar.gz

8.0的包是直接提供了已编译的文件,不需要像之前的版本那样从源码编译了,这里主要就是进行相关的一些配置。

以下步骤:

1、解压安装包

tar -zxvf mysql-8.0.30-el7-x86_64.tar.gz

mv mysql-8.0.30-el7-x86_64 /home/mysql  # 我部署在这个目录下

2、配置账号

groupadd mysql

useradd -M -s /sbin/nologin -g mysql mysql # 这是创建一个非登录授权的用户

mkdir -p /home/mysql/data

chown -R mysql:mysql /home/mysql

3、设置mysql配置文件

mv /etc/my.cnf /etc/my.conf.bak

vi /etc/my.cnf

输入以下内容:

[cient]
port            = 3306
socket          = /tmp/mysql.sock

[mysqld]
user            = mysql
port            = 3306
socket          = /tmp/mysql.sock
datadir         = /home/mysql/data

slow_query_log=1
slow_query_log_file=mysqld-slow.log
long_query_time=2

#fix group by problem up 5.7.9
sql-mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'

# binlog
server-id=1
log-bin=bin_log

#
# include all files from the config directory
#
!includedir /etc/my.cnf.d

# character settings
init_connect = SET NAMES utf8mb4 COLLATE utf8mb4_general_ci
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci

# can't set this variable in this way, try set global default_collation_for_utf8mb4='utf8mb4_general_ci';
# default_collation_for_utf8mb4 = utf8mb4_general_ci

 尾部是设置一些字符集和排序集,这里是我常用的设置,大家可以根据自己的环境调整

注意:default_collation_for_utf8mb4 是创建库表时,默认的排序集,mysql8默认是utf8mb4_0900_ai_ci,但是现在阶段还涉及到与5.x版本兼容的问题,因此我这里就需要在数据库启动好后,手工执行一次设置默认排序集的命令:

set global default_collation_for_utf8mb4='utf8mb4_general_ci';

4、执行初始化命令

cd /home/mysql/bin

./mysqld --user=mysql --basedir=/home/mysql --datadir=/home/mysql/data --initialize

 执行成功会显示初始化密码,类似:

2023-05-08T12:14:08.597695Z 0 [System] [MY-013169] [Server] /home/mysql/bin/mysqld (mysqld 8.0.30) initializing of server in progress as process 11847
2023-05-08T12:14:08.606474Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2023-05-08T12:14:09.017540Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2023-05-08T12:14:10.252818Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: xxxxxxxxxxx

5、启动mysql

/home/mysql/bin/mysqld_safe &

6、修改初始密码

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';

flush privileges;

7、善后工作

  • 将mysql路径放入环境变量:在/etc/profile文件中加入:
export PATH=$PATH:/home/mysql/bin
  • 设置开机启动,我习惯放在rc.local中(也可以加入系统服务中):
/home/mysql/bin/mysqld_safe &

如果是新系统,特别注意要给rc.local授执行权限:

chmod +x /etc/rc.d/rc.local 

至此,大功告成!

附,8.0的用户授权命令做了调整,如下:

# 8.0版本需要将创建用户和授权进行分步进行:
 
# 创建账号密码
CREATE USER `username`@`host` IDENTIFIED BY 'passowrd';
 
# 授予权限
GRANT ALL ON *.* TO `username`@`host` WITH GRANT OPTION;
 
# 删除权限
REVOKE all privileges ON databasename.tablename FROM 'username'@'host';
 
# 修改密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';
 
 
# 创建带过期时间的用户:
CREATE USER `username`@`host` IDENTIFIED BY 'username' PASSWORD EXPIRE INTERVAL 90 DAY;
 
GRANT ALL ON *.* TO `username`@`host` WITH GRANT OPTION;

# 删除用户
DROP USER `username`@`host`;

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值