Linux:【Mysql】Centos7安装mysql8.0

目录

一、环境及版本介绍

二、安装前准备

三、开始安装


一、环境及版本介绍

        Linux环境:Centos7

        Mysql版本:8.0.26

        安装时使用的用户:root

二、安装前准备

1.1、下载Centos7镜像

          网上寻找相关资源即可

1.2、下载VMwareWorkstation Pro并安装Linux环境

         网上寻找相关资源

1.3、下载Linux版的Mysql

        下载地址:MySQL :: Download MySQL Community Server (Archived Versions)Linux:【Mysql】Centos7安装mysql8.0_第1张图片

三、开始安装

3.1、上传mysql文件至Linux环境

    将下载的文件上传至Linux服务器如下目录:/usr/local/

3.2、解压

    tar -xvf ./mysql-8.0.26-linux-glibc2.12-x86_64.tar.xz

3.3、更改解压后的文件名称

sudo mv ./usr/local/mysql-8.0.26-linux-glibc2.12-x86_64/  ./usr/local/mysql-8.0.26

3.4、检查是否创建mysql组及mysql用户

cat /etc/group | grep mysql

cat /etc/passwd | grep mysql

3.5、如果没有则创建

groupadd mysql

useradd -g mysql mysql

3.6、进入mysql的安装文件夹,创建data文件夹

cd /usr/local/mysql-8.0.26/

mkdir data

3.7、给mysql安装文件夹和data文件夹赋予权限

# 安装目录赋予权限
[root@localhost mysql-8.0.26]# sudo chown -R 777 /usr/local/mysql-8.0.26/

# data文件夹赋予权限
[root@localhost mysql-8.0.26]# sudo chown -R 777 /usr/local/mysql-8.0.26/data/

3.8、配置mysql配置文件my.cnf

[root@localhost mysql-8.0.26]# sudo vi /etc/my.cnf

3.9、输入一下内容

[mysql]  ([mysql]为必须,当前小括号中的内容可删除)

	# 设置mysql客户端默认字符集

	default-character-set=utf8

	[mysqld]  ([mysqld]为必须,当前小括号中的内容可删除)

	skip-name-resolve

	#设置3306端口

	port = 3306

	# 设置mysql的安装目录:

	basedir=/usr/local/mysql-8.0.26

	# 设置mysql数据库的数据的存放目录(刚刚新建的data目录)

	datadir=/usr/local/mysql-8.0.26/data

	# 允许最大连接数

	max_connections=200

	# 服务端使用的字符集默认为8比特编码的latin1字符集

	character-set-server=utf8

	# 创建新表时将使用的默认存储引擎

	default-storage-engine=INNODB

	lower_case_table_names=1

	max_allowed_packet=16M

3.10、设置进入mysql安装目录的bin目录,初始化数据库,并设置忽略表明大小写

 [root@localhost mysql-8.0.26]# cd /usr/local/mysql-8.0.26/bin/
 [root@localhost bin]# ./mysqld --initialize --console --lower-case-table-names=1

此时会返回如下信息:

 返回如下信息:
	2023-09-08T09:02:01.610795Z 0 [System] [MY-013169] [Server] /usr/local/mysql-8.0.26/bin/mysqld (mysqld 8.0.26) initializing of server in progress as process 4676
	2023-09-08T09:02:01.627486Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
	2023-09-08T09:02:01.981156Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
	2023-09-08T09:02:02.514898Z 0 [Warning] [MY-013746] [Server] A deprecated TLS version TLSv1 is enabled for channel mysql_main
	2023-09-08T09:02:02.515124Z 0 [Warning] [MY-013746] [Server] A deprecated TLS version TLSv1.1 is enabled for channel mysql_main
	2023-09-08T09:02:02.543483Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: sgyOdI?pr3nW
    其中sgyOdI?pr3nW是生成的临时密码,需要记录一下

3.11、设置config配置,修改SELINUX=disabled

[root@localhost bin]# sudo vi /etc/selinux/config

3.12、创建软连接

[root@localhost bin]# sudo ln -s /usr/local/mysql-8.0.26/bin/mysql /usr/bin/

以下是设置mysql的开机自启

3.13、因为使用的是root用户,固需要微调一下mysql安装目录下的support-files/mysql.server文件内容

[root@localhost bin] vi /usr/local/mysql-8.0.26/support-files/mysql.server

  在266行, 执行start的命令,在【$bindir/mysqld_safe】 与 【--datadir="$datadir" --pid-file="$mysqld_pid_file_path" $other_args >/dev/null】 新增 --user=root

3.14、拷贝mysql安装目录下的启动文件到/etc/init.d/下并重命名为mysqld,并增加执行权限

 [root@localhost bin]# sudo cp /usr/local/mysql-8.0.26/support-files/mysql.server /etc/init.d/mysqld
 [root@localhost bin]# sudo chmod 777 /etc/init.d/mysqld

3.15、添加服务

 [root@localhost /]# sudo chkconfig --add mysqld

3.16、设置服务开机自动开启

 [root@localhost /]# sudo chkconfig mysqld on

3.17、启动mysql

 [root@localhost /]# service mysqld start

以下是登录mysql,修改密码,打开远程连接权限(即可以使用navicat等工具连接mysql)

3.18、登录mysql的root用户

 [root@localhost /]# mysql -u root -p

3.19、输入刚保存的临时密码

3.20、设置新密码

mysql> set PASSWORD = '自己的mysql用户登录密码';

3.21、刷新使其生效

mysql> flush privileges;

3.22、修改远程连接并生效

 update user set host='%' where user='root';

3.23、刷新使其生效

flush privileges;

3.24、查看防火墙

 [root@localhost lib]# systemctl status firewalld

3.25、如果是开启,关闭

 [root@localhost lib]# service firewalld stop

尝试用navicat连接即可

Linux:【Mysql】Centos7安装mysql8.0_第2张图片

以下为补充命令: 

查看muysql加载my.cnf的位置:

 [root@localhost mysql-8.0.26]# mysql --help | grep 'my.cnf'

 查看已经存在的my.cnf文件所在位置

 locate my.cnf
 whereis my.cnf


 

你可能感兴趣的:(LINUX,#,数据库,linux,运维,服务器)