一、下载解压文件

MySQL下载地址:MySQL :: Download MySQL Community Server

可选择对应版本的MySQL这里使用的Linux系统是是CentOS8

选择的数据库是8.0的通用版本Linux-Genric

查看Linux是32位还是64位可使用:getconf LONG_BIT或:uname -r查看,若显示x86_64 则代表是64位

centos截图 centos ctrl z_linux

将下载的MySQL压缩包通过xftp工具传输到Linuxd的目录下 

centos截图 centos ctrl z_centos_02

 查看当前目录是否存在已传输的MySQL压缩包

centos截图 centos ctrl z_centos截图_03

解压文件

注意:由于压缩包是.xz格式,直接用tar解压会失败

centos截图 centos ctrl z_mysql_04

 解决办法

先用xz进行解压xz为tar格式

xz -d mysql-8.0.26-linux-glibc2.12-x86_64.tar.xz

centos截图 centos ctrl z_centos截图_05

 在使用tar进行最后解压

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

centos截图 centos ctrl z_MySQL_06

解压完毕再次查看已经变为蓝色说明解压成功

centos截图 centos ctrl z_linux_07

 拓展:


xz语法参数

xz [-dtlkc#] 文件名

参数:

-z, –compress 强制压缩

-d, –decompress 强制解压

-t, –test 测试压缩文件完整性

-l, –list 列出有关文件的信息

-k, –keep 保留(不删除)输入文件

-f, –force 强制覆盖输出文件和(取消)压缩链接

-c, –stdout 写入标准输出,不删除输入文件

-0 .. -9 压缩预设;0-2快速压缩,3-5良好

压缩,6-9极好的压缩;默认值为6

-e, –extreme 编码时使用更多的CPU时间来增加压缩

不增加解码器内存使用率的比率

-q, –quiet 取消警告;指定两次也可以取消错误

-v, –verbose 详细;为更详细的内容指定两次

-h, –help 显示此简短帮助

-H, –long-help 显示长帮助(同时列出高级选项)

-V, –version 显示版本号

tar语法格式

必选其中之一参数(而且 一次只能使用其中一个,不能同时使用多个):

(这五个参数是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用,但一次只能用其中一个)

-c:建立一个压缩文件的参数指令(create 的意思);

-x:解开一个压缩文件的参数指令!

-t:查看 tarfile 里面的文件!

-r:向压缩归档文件末尾追加文件

-u:更新原压缩包中的文件

特别注意,在参数的下达中, c/x/t/r/u 仅能存在一个!不可同时存在!因为不可能同时压缩与解压缩。

可选参数

下面的参数是根据需要在压缩或解压档案时可选的。

-z:有gzip属性,即需要用 gzip 压缩

-j:有bz2属性,即需要用 bzip2 压缩

-Z:有compress属性的

-v :压缩的过程中显示文件(显示所有过程)!这个常用,但不建议用在背景执行过程!

-O:将文件解开到标准输出

-f :使用档名,请留意,在 f 之后要立即接档名!不要再加参数!例如使用『 tar -zcvfP tfile sfile』就是错误的写法,要写成『 tar -zcvPf tfile sfile』才对喔!

-p :使用原文件的原来属性(属性不会依据使用者而变)

-P :可以使用绝对路径来压缩!

-N :比后面接的日期(yyyy/mm/dd)还要新的才会被打包进新建的文件中!

--exclude FILE:在压缩的过程中,不要将 FILE 打包!

-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。

示例

# tar -cf all.tar *.jpg // 这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。

# tar -rf all.tar *.gif // 这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。

# tar -uf all.tar logo.gif // 这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。

# tar -tf all.tar // 这条命令是列出all.tar包中所有文件,-t是列出文件的意思

# tar -xf all.tar // 这条命令是解出all.tar包中所有文件,-x是解开的意思


接下来将解压后的文件移动到 /usr/local/mysql 并重命名为mysql

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

centos截图 centos ctrl z_centos_08

在mysql根目录下创建data文件夹

mkdir mysql/data

centos截图 centos ctrl z_MySQL_09

二、创建用户和组

创建用户组和用户并指定给mysql组

groupadd mysql

useradd -g mysql mysql

centos截图 centos ctrl z_centos截图_10

改变mysql目录权限

chown -R mysql.mysql /usr/local/mysql/

centos截图 centos ctrl z_linux_11

 三、初始化MySQL

创建数据库安装文件

mkdir mysql_install_db

chmod 777 ./mysql_install_db

centos截图 centos ctrl z_MySQL_12

初始化

/usr/local/mysql/bin/mysqld --initialize --user=mysql

centos截图 centos ctrl z_centos_13

记下初始密码:1Uxf+xK0V1co

四、配置MySQL

复制文件到 /etc/init.d/mysqld

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

centos截图 centos ctrl z_mysql_14

查看是已复制 l /etc/init.d/mysqld

 

centos截图 centos ctrl z_centos截图_15

修改my.cnf文件

vi /etc/init.d/mysqld

填写一下内容:

centos截图 centos ctrl z_mysql_16

[mysqld]

basedir = /usr/local/mysql

datadir = /usr/local/mysql/data

socket = /usr/local/mysql/mysql.sock

character-set-server=utf8

port = 3306

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

[client]

socket = /usr/local/mysql/mysql.sock

default-character-set=utf8

wq保存退出

五、建立MySQL服务

建立MySQL服务

将support-files/mysql.server复制到/etc/init.d/mysql

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

centos截图 centos ctrl z_MySQL_17

添加权限

chmod +x /etc/init.d/mysql

添加到系统服务

chkconfig --add mysql

检查是否生效

chkconfig --list mysql

centos截图 centos ctrl z_centos_18

mysql service已经可启动mysql服务

service mysql start

centos截图 centos ctrl z_MySQL_19

六、配置全局变量

配置全局变量

编辑 / etc/profile 文件

在最下方添加以下环境变量:

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

export PATH

centos截图 centos ctrl z_mysql_20

设置环境变量立即生效

 source /etc/profile

启动服务后进行登录

service mysql start

mysql -u root -p

报错

centos截图 centos ctrl z_mysql_21

解决问题

进入数据库目录

cd /usr/local/mysql/bin/ #先进入该命令的对应目录 ldd mysql #查看依赖库文件

centos截图 centos ctrl z_linux_22

 提示找不到libtinfo.so.5

安装缺失依赖

dnf install ncurses-compat-libs

centos截图 centos ctrl z_mysql_23

再次登录

mysql -u root -p

输入初始化的密码:1Uxf+xK0V1co

登录成功

centos截图 centos ctrl z_centos_24

七、测试数据库

测试数据库

查看所有数据库

show databases;

centos截图 centos ctrl z_centos截图_25

报错提示第一次使用需要修改密码

修改密码

ALTER USER 'root'@'localhost' IDENTIFIED BY 'Root3306‘;

centos截图 centos ctrl z_linux_26

成改成功

再次查看所有数据库

show databases;

centos截图 centos ctrl z_linux_27

 测试完成退出数据库

exit

至此Linux安装MySQL8.0完成!


相关Linux命令:

启动mysql服务

service mysqld start

登录本机mysql数据库

mysql -uroot -p

重启mysql服务

service mysqld restart

停止mysql服务

service mysqld stop

登录远程mysql数据库

mysql -h主机地址 -u用户名 -p用户密码

查看mysql运行状态

service mysqld status

查看mysql的运行使用的进程

ps -e |grep mysql


扩展:远程连接Linux数据库

先创建用户

Linux中登录MySQL并创建一个用户设置用户名密码以及允许远程访问的IP地址

create user 'windows' @'192.168.128.110' identified by 'Root3306';

centos截图 centos ctrl z_linux_28

关闭防火墙

查看防火强状态

serives firewall-cmd --state

如果开启需要停止防火墙

service firewalld stop

centos截图 centos ctrl z_centos_29

CentOS 8防火墙相关命令

查看防火强状态

firewall-cmd --state

停止防火墙

service firewalld stop

启动防火墙

service firewalld start

重启防火墙

service firewalld restart

连接数据库

方式一:

Windows的cmd中输入

mysql -h 192.168.128.24 -u windows -p

回车在输入密码

centos截图 centos ctrl z_centos截图_30

方式二

使用其他MySQL数据库管理工具进行连接

centos截图 centos ctrl z_centos截图_31

测试

查看所有数据库

>show databases;

只看到部分数据库是因为没有足够的权限,需要授予权限

centos截图 centos ctrl z_MySQL_32

用户授权

授予部分权限

给名为windows的用户授予(select, create, insert, update, delete )权限,(*.*)代表所有库所有表

grant select, create, insert, update, delete on *.* to windows@'192.168.128.110';

centos截图 centos ctrl z_centos截图_33

或 授予所有权限

给名为windows的用户授予权限,(all)代表所有权限(*.*)代表所有库所有表

>grant all on *.* to windows@'192.168.128.110';

centos截图 centos ctrl z_linux_34

 收回权限命令

revoke all privileges,grant option from windows@'192.168.128.110';

centos截图 centos ctrl z_MySQL_35

再次查看数据库

>show databases;

centos截图 centos ctrl z_centos_36

cmd中查看

centos截图 centos ctrl z_linux_37