mysql8.0安装教程(一步一步详细说明)

第一步下载软件

下载地址:https://dev.mysql.com/downloads/mysql/

比较常使用系统的是Windows、Linux 、Red Hat Enterprise Linux、Ubuntu Linux;

我们使用的是 mysql-8.0.22-linux-glibc2.12-x86_64.tar.xz进行操作。

mysql下载版本

下载安装包

安装包

将下载好的安装包,上传到服务器端。

第二步解压安装包


因为压缩包使用的是xz,所以服务器端需要安装xz

首先来说下:xz

xz是一个使用LZMA压缩算法的无损数据压缩文件格式。 和gzip与bzip2差不多,支持多文件压缩,限制于不能将多个的目标文件压缩到同一个压缩包中。 所以对于xz通常作为一种归档文件对于自身压缩。 xz在GNU coreutils(版本7.1或更新) 中被使用。 

安装

如果系统没有xz命令,需要进行安装,安装方法非常简单, 在centos下,直接运行:

[root@mysql]# yum install xz


接下来就使用:

[root@mysql]# tar -xvf mysql-8.0.22-linux-glibc2.12-x86_64.tar

在进行修改名称使用:mv命令 

[root@mysql]# mv mysql-8.0.22-linux mysql8

第三步:创建目录

mysql数据目录:/home/mysql8/data

日志目录:/home/mysql8/log

basedir:/home/mysql8

socket = /home/mysql8/mysql.sock

tmpdir = /home/mysql8/tmp

创建数据库日志文件:touch /home/mysql8/log/mysqld.log

第四步:创建mysql用户组和mysql用户

[root@mysql]#groupadd mysql

[root@mysql]#seradd -g mysql mysql

第五步:改变mysql目录权限

[root@mysql]#chown -R mysql:mysql /home/mysql8

第六步:初始化数据库

[root@mysql]#cd /home/mysql8

[root@mysql]#./bin/mysqld --initialize --user=mysql --basedir=/home/mysql8 --datadir=/home/mysql8/data

执行之后,保存好临时密码。

临时密码

第七步:配置mysql参数文件

在拷贝/etc/my.cnf文件到,/home/mysql8/support-files目录下y.cnf

编辑my.cnf配置参数文件:

[client]

port=3306

socket=/home/mysql8/mysql.sock

[mysqld]

basedir=/home/mysql8

datadir=/home/mysql8/data

socket=/home/mysql8/mysql.sock

max_connections=1000

group_concat_max_len=102400000

skip-name-resolve

slow-query_log=ON

slow_query_log_file=/home/mysql8/mysql-slow.log

long_query_time=2

innodb_file_per_table = 1

[log]

log_bin=/home/mysql8/mysql-bin

binlog_format=ROW

expire_logs_days=5

[mysqld_safe]

log-error=/home/mysql8/log/mysqld.log

pid-file=/home/mysql8/mysqld.pid

[mysql]

character-set-server = utf8mb4

collation-server = utf8mb4_general_ci

init_connect='SET NAMES utf8mb4'

编辑好之后,拷贝到/etc/my.cnf覆盖。

[root@mysql support-files]# cp my.cnf /etc/

cp: overwrite ?.etc/my.cnf?. yes

第八步:mysql配置环境变量

编辑 /etc/profile 文件

[root@mysql support-files]# vim /etc/profile

添加以下信息:

#mysql

export MYSQL_HOME=/home/mysql8

export PATH=$PATH:$MYSQL_HOME/bin

[root@mysql support-files]# source /etc/profile

[root@mysql support-files]# echo $MYSQL_HOME

/home/mysql8

第九步:创建软连接

# ln -s /home/mysql8/bin/mysql /usr/bin/mysql

# ln -s /home/mysql8/bin/mysqladmin /usr/bin/

第十步:启动myslq服务

[root@ mysql]# cd /home/mysql8/support-files

[root@ mysql]#./mysql.server start

[root@mysql support-files]# ./mysql.server start

Starting MySQL....... SUCCESS!

[root@mysql support-files]#

第十一步:设置mysql为自启动

拷贝启动文件到/etc/init.d/下并重命令为mysqld,增加执行权限

# cp /home/mysql8/support-files/mysql.server /etc/init.d/mysqld

# chmod 755 /etc/init.d/mysqld

添加自启动

# chkconfig --list mysqld

# chkconfig --add mysqld

# chkconfig mysqld on

[root@mysql support-files]# chkconfig --list mysqld

Note: This output shows SysV services only and does not include native

      systemd services. SysV configuration data might be overridden by native

      systemd configuration.

      If you want to list systemd services use 'systemctl list-unit-files'.

      To see services enabled on particular target use

      'systemctl list-dependencies [target]'.

mysqld        0:off 1:off 2:on 3:on 4:on 5:on 6:off

[root@mysql support-files]#

第十二步:初始化root用户密码

此时使用记录下来的初始密码进行初始化,并输入初始密码B*u0hTkfe*f#,设置新密码为root

./mysql -uroot -p

mysql> SET PASSWORD FOR root@localhost = 'rootroot';

Query OK, 0 rows affected (0.00 sec)

mysql>

退出去重新使用新密码登录:

[root@mysql bin]# mysql -uroot -prootroot

mysql: [Warning] Using a password on the command line interface can be insecure.

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 11

Server version: 8.0.22 MySQL Community Server - GPL

Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

注意:mysql -uroot -prootroot 使用明文密码它会报一个警告信息。

[警告]在命令行界面上使用密码可能不安全。

使用密文:

[root@mysql bin]# mysql -uroot -p

Enter password:

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 12

Server version: 8.0.22 MySQL Community Server - GPL

Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>



以下说明下参数:

[client]

port = 3306

socket = /home/mysql8/mysql.sock

[mysqld]

# Mysql服务的唯一编号 每个mysql服务Id需唯一

server-id = 1

# 服务端口号 默认3306

port = 3306

# mysql安装根目录

basedir = /home/mysql8

# mysql数据文件所在位置

datadir = /home/mysql8/data

# pid

pid-file = /home/mysql8/mysql.pid

# 设置socke文件所在目录

socket = /home/mysql8/mysql.sock

# 设置临时目录

tmpdir = /home/mysql8/tmp

# 用户

user = mysql

# 允许访问的IP网段

bind-address = 0.0.0.0

# 跳过密码登录

#skip-grant-tables

# 主要用于MyISAM存储引擎,如果多台服务器连接一个数据库则建议注释下面内容

skip-external-locking

# 只能用IP地址检查客户端的登录,不用主机名

skip_name_resolve = 1

# 事务隔离级别,默认为可重复读,mysql默认可重复读级别(此级别下可能参数很多间隙锁,影响性能)

transaction_isolation = READ-COMMITTED

# 数据库默认字符集,主流字符集支持一些特殊表情符号(特殊表情符占用4个字节)

character-set-server = utf8mb4

# 数据库字符集对应一些排序等规则,注意要和character-set-server对应

collation-server = utf8mb4_general_ci

# 设置client连接mysql时的字符集,防止乱码

init_connect='SET NAMES utf8mb4'

# 是否对sql语句大小写敏感,1表示不敏感

lower_case_table_names = 1

# 最大连接数

max_connections = 400

# 最大错误连接数

max_connect_errors = 1000

# TIMESTAMP如果没有显示声明NOT NULL,允许NULL值

explicit_defaults_for_timestamp = true

# SQL数据包发送的大小,如果有BLOB对象建议修改成1G

max_allowed_packet = 128M

# MySQL连接闲置超过一定时间后(单位:秒)将会被强行关闭

# MySQL默认的wait_timeout  值为8个小时, interactive_timeout参数需要同时配置才能生效

interactive_timeout = 1800

wait_timeout = 1800

# 内部内存临时表的最大值 ,设置成128M。

# 比如大数据量的group by ,order by时可能用到临时表,

# 超过了这个值将写入磁盘,系统IO压力增大

tmp_table_size = 134217728

max_heap_table_size = 134217728

# 禁用mysql的缓存查询结果集功能

# 后期根据业务情况测试决定是否开启

# 大部分情况下关闭下面两项

query_cache_size = 0

query_cache_type = 0

# 数据库错误日志文件

log_error = error.log

# 慢查询sql日志设置

slow_query_log = 1

slow_query_log_file = slow.log

# 检查未使用到索引的sql

log_queries_not_using_indexes = 1

# 针对log_queries_not_using_indexes开启后,记录慢sql的频次、每分钟记录的条数

log_throttle_queries_not_using_indexes = 5

# 作为从库时生效,从库复制中如何有慢sql也将被记录

log_slow_slave_statements = 1

# 慢查询执行的秒数,必须达到此值可被记录

long_query_time = 8

# 检索的行数必须达到此值才可被记为慢查询

min_examined_row_limit = 100

# mysql binlog日志文件保存的过期时间,过期后自动删除

expire_logs_days = 5



# ln -s /mysql/bin/mysql /usr/bin/mysql

# ln -s /mysql/bin/mysql /usr/bin/

# ln -s /mysql/bin/mysqladmin /usr/bin/

拷贝启动文件到/etc/init.d/下并重命令为mysqld,增加执行权限

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,772评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,458评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,610评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,640评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,657评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,590评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,962评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,631评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,870评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,611评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,704评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,386评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,969评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,944评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,179评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,742评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,440评论 2 342

推荐阅读更多精彩内容