Linux 安装MySQL

Posted gcmh

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux 安装MySQL相关的知识,希望对你有一定的参考价值。

一、准备工作

https://dev.mysql.com/downloads/mysql/

 

 

 

1.1 上传到指定目录,解压

tar -xvf mysql-8.0.19-linux-glibc2.12-x86_64.tar.xz

 

1.2 添加用户和组

[root@VM_0_3_centos mysql]# groupadd mysql
[root@VM_0_3_centos mysql]# useradd -r -g mysql mysql

 

1.3 修改目录所属组和用户

[root@VM_0_3_centos mysql]# useradd -r -g mysql mysql
[root@VM_0_3_centos mysql]# chown -R mysql:mysql /usr/local/mysql/

 

1.4创建数据库存放目录

在数据库解压之后的目录,data目录和bin处于同一级。

[root@VM_0_3_centos mysql]# mkdir data

注:在腾讯云服务器上创建data目录然后初始化正常 ,但在阿里云服务器上创建目录后显示如下错误。

 删除创建的data文件夹,执行初始化,会自动生成data文件夹。

 

 

二、安装MySQL

2.1 初始化,执行解压目录下bin目录中的mysqld,user就是之前创建的用户。

[root@VM_0_3_centos mysql-8.0.19]# ./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/mysql-8.0.19 --datadir=/usr/local/mysql/mysql-8.0.19/data

 

可能出现问题

./bin/mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory

解决方案

yum -y install numactl

 

初始化后会生成一个临时密码,建议复制下来。

 

临时密码

A temporary password is generated for root@localhost: X;(9spFlVext

 

2.2 修改配置文件 vim /etc/my.cnf

 

 启动mysql服务

 

 

 2.3 编辑配置文件vim /etc/profile,将mysql路径添加使用source /etc/profile使其生效,这样就可以使用mysql命令了。

 

 

 

2.4 修改密码,先使用之前生成的临时密码登录。

 

执行修改密码语句出现提示说,必须重置密码才能执行修改密码语句...这不是死循环吗。

 

这时我们先执行quit退出 mysql.

编辑vime /etc/my.cnf文件,添加skip-grant-tables

 加上一行,在重启mysql,可以免密登录。

重启服务。

 

 

再次登录,这次输入密码直接回车即可。

 

 

先查看下数据库,使用mysql库。

 

使用mysql库后,查看下其中user表的信息。其中Host代码允许连接的地址,这里标识的是本地。

使用远程连接时,是多台机器连接到数据库,所以先将此处的localhost修改为%表示任意地址。

 

 修改Host为%,%任意地址可连接

 

 

 接着我们来修改密码:

先要执行flush privileges;

不然会弹出ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

更新密码语句  ALTER USER \'root\'@\'%\' IDENTIFIED WITH mysql_native_password BY \'mysql@hcf19971002\';

其中mysql_native_password指定加密方式,MySQL8.0密码加密方式发生了变换,这时使用Navicat连接会出现错误,所以指定加密方式为以前的方式。

这里的\'root\'和‘%’就是user表中user和host,由于此处先将localhost修改为了%所以是root@%,如果没有修改就是root@localhost.

 

密码修改完成,退出注释掉/etc/my.cnf中的skip-grant-tables,重启服务。

再次使用修改的密码登录即可。

 

 

其他:设置开机自启动

首先设置连接文件,使用service mysql resart重启。

 

 

#设置开机自启动#复制服务文件到 /etc/init.d/下,并取名为mysql
[
root@VM_0_3_centos support-files]# cp -a /usr/local/mysql/mysql8.0.19/support-files/mysql.server /etc/init.d/mysqld #赋予可执行权限
[root@VM_0_3_centos support-files]# chmod a+x /etc/init.d/mysqld
#添加服务
[root@VM_0_3_centos support-files]# chkconfig --add mysqld
#显示服务列表 [root@VM_0_3_centos support-files]# chkconfig --list

 

 

启动停止命令

service mysql stop

service mysql start

 

 

 参考:

https://www.jianshu.com/p/276d59cbc529

https://blog.csdn.net/s78365126/article/details/85267154

以上是关于Linux 安装MySQL的主要内容,如果未能解决你的问题,请参考以下文章

mysql查看版本的四种方法

LAMP的基本配置

mysql在linux上的安装之二(mysql源代码安装)

部分代码片段

Linux下基于源代码方式安装MySQL 5.6

linux下源代码搭建php环境之mysql