超详细在Linux环境安装MySQL8.0教程

本文阅读 4 分钟
首页 Mysql 正文

mysql-install.png

本文讲解的是mysql安装及配置教程,安装mysql、Mysql数据库、mysql安装,mysql安装教程,mysql下载安装。MySQL是一种流行的开源关系型数据库管理系统,它广泛用于网站和服务的数据存储和管理。

安装

MySQL以其高性能、可靠性和易用性而闻名,是许多Web应用程序的首选数据库解决方案之一。

下载mysql8安装包

 wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz
如果执行没反应,可以复制安装包链接在Windows的浏览器下载好

切换到 /use/local下

cd /usr/local/

创建mysql文件夹

mkdir mysql

切换到mysql文件夹下

cd mysql

解压mysql8.0安装包

# 切换到 /use/local/mysql文件夹下面,执行命令
tar xvJf mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz 

移动解压出来的文件和文件夹到/usr/local/mysql下

mv -rf mysql-8.0.20-linux-glibc2.12-x86_64/*  .
rm -rf mysql-8.0.20-linux-glibc2.12-x86_64

/use/local/mysql文件夹下创建data文件夹 存储文件

mkdir data

分别创建用户组以及用户和密码(如果提示已存在说明之前有创建过了)

groupadd mysql
useradd -g mysql mysql

授权刚刚新建的用户

chown -R mysql.mysql /usr/local/mysql
chmod 750 /usr/local/mysql/data -R

配置环境,编辑/etc/profile文件

vi /etc/profile

在最后一行加

export PATH=$PATH:/usr/local/mysql/bin:/usr/local/mysql/lib

编辑my.cnf文件

vi /etc/my.cnf

按下面复制进去就好了,#号开头的不用管,一样,添加完之后,换行,打出“:wq”,用来保存文件并退出

[mysql]
default-character-set=utf8mb4
[client]
#port=3306
socket=/var/lib/mysql/mysql.sock

[mysqld]
#port=3306
#server-id=3306
user=mysql
general_log = 1
general_log_file= /var/log/mysql/mysql.log
socket=/var/lib/mysql/mysql.sock
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
log-bin=/usr/local/mysql/data/mysql-bin
innodb_data_home_dir=/usr/local/mysql/data
innodb_log_group_home_dir=/usr/local/mysql/data/
character-set-server=utf8mb4
lower_case_table_names=1
autocommit=1
default_authentication_plugin=mysql_native_password
symbolic-links=0
# Disabling symbolic-links is recommended to prevent assorted security risks
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd

[mysqld_safe]
log-error=/usr/local/mysql/data/mysql.log
pid-file=/usr/local/mysql/data/mysql.pid

#
# include all files from the config directory

切换到/usr/local/mysql/bin目录下

cd bin

初始化基础信息,得到数据库的初始密码(在/usr/local/mysql/bin目录下执行)

./mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/ --initialize

如图,复制出红框的初始密码,保存到本地,后面需要使用到。

ISSUE:如果因为路径等各种问题需要重新初始化的,需要清空上面创建的data文件,在data所在的目录下使用 rm -rf data 命令。

复制 mysql.server 文件,在/usr/local/mysql目录下执行

cp -a ./support-files/mysql.server /etc/init.d/mysql 
cp -a ./support-files/mysql.server /etc/init.d/mysqld

赋予权限

chown 777 /etc/my.cnf
chmod +x /etc/init.d/mysql
chmod +x /etc/init.d/mysqld

检查一下/var/lib/mysql是否存在,否则进行创建

mkdir /var/lib/mysql 

然后再赋予权限:

chown -R mysql:mysql /var/lib/mysql/ 

启动数据库,有SUCCESS字眼说明MySQL安装完成

service mysql start 

如果发现启动失败,可以先查看data里面的mysql.log,如果有提示3306这样的字样,第一个想到的应该是端口被占用,
使用lsof -i:端口号,查看是哪个PID(进程号)占用了该端口,然后使用kill -9 PID(进程号)杀掉进程,重新执行service mysql start

修改密码,并设置远程连接

修改数据库root账号的密码,并设置可以远程访问(因为root默认是不能远程访问的)

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';

执行flush privileges; 使密码生效

flush privileges;

选择数据库

 use mysql;

再修改远程连接并生效

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

执行提交命令,搞定!

flush privileges;

题外

给mysql创建新的数据库用户并授予权限

1)创建用户(名称随意,这里的用户名称为mysql)并可以远程访问
CREATE user 'mysql'@'%'; 
#修改密码
alter user 'mysql'@'%' identified with mysql_native_password by 'tcl.2021'; 

2)创建新的数据库
#create database 数据库名 default character set utf8mb4 collate utf8mb4_unicode_ci;


3)把新的数据库授权给新用户
#将test库的所有权限赋予mysql用户
grant all privileges on test.* to "mysql"@"%";
grant all privileges on test.* to "tcl"@"%";

4)、刷新权限
flush privileges;
本文来自投稿,不代表本站立场,如若转载,请注明出处:
将SQL查询结果插入到另一张表中的基本方法
« 上一篇 09-29
渗透测试安全风险等级评定标准
下一篇 » 10-01

发表评论

发表评论