Linux安装MySQL

1、下载MySQL

  MySQL官网:https://downloads.mysql.com/archives/community/。下载Linux版本的MySQL安装包,这里我选择的是64位、8.0.31版本,下载的压缩包名称:mysql-8.0.31-linux-glibc2.12-x86_64.tar.xz。

  

2、Linux安装MySQL

1、将下载的压缩包,上传到Linux的指定目录并解压

tar -xf mysql-8.0.31-linux-glibc2.12-x86_64.tar.xz

   

   文件夹名称过长,文件夹重命名为mysql。

 

2、添加mysql用户及用户组

groupadd mysql && useradd -r -g mysql mysql

  查看mysql用户及用户组是否添加成功,有显示mysql:mysql代表成功。

 groups mysql 

3、创建mysql的数据目录并赋予权限

mkdir -p /usr/local/develop/data/mysql
chown mysql:mysql -R /usr/local/develop/data/mysql

4、调整配置文件

vi /etc/my.cnf

  如果没有就此配置文件,就新建配置配置文件my.cnf。配置文件调整如下:

bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/develop/mysql
datadir=/usr/local/develop/data/mysql
socket=/var/lib/mysql/mysql.sock
character_set_server=utf8mb4
explicit_defaults_for_timestamp=true
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# 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=/var/log/mariadb/mariadb.log
# pid-file=/var/run/mariadb/mariadb.pid
log-error=/usr/local/develop/data/mysql/mysql-err.log
pid-file=/usr/local/develop/data/mysql/mysql.pid

#
# include all files from the config directory
#
!includedir /etc/my.cnf.d

  配置文件介绍如下:

  

5、初始化MySQL

  进入到mysql解压目录的bin下

cd /usr/local/develop/mysql/bin

  初始化mysql

./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/develop/mysql --datadir=/usr/local/develop/data/mysql/ --user=mysql --initialize

  执行初始化报错:error while loading shared libraries: libaio.so.1

      原因:缺少libaio.so.1的依赖库,需进行安装,执行如下安装命令:

 yum install -y libaio

  出现如下提示表示安装完成。

  

  再次执行mysql的初始化命令,出现如下提示代表初始化完成。

  

  注意:在初始化完成后,会为root生成临时的登录密码 - 如上图的 ==> A temporary password is generated for root@localhost: jKd)C,hu?6i9, 密码为 jKd)C,hu?6i9,需要记住后面登录时需要用到。

6、mysql的启动与关闭

6.1、启动msyql

  复制mysql的启动命令

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

  启动mysql

service mysql start

  执行出现如下错误: 

  

   调整配置文件,注释socket。

  

  再次启动mysql,出现如下提示,表示启动成功。

  

6.2、关闭mysql

  执行如下命令,关闭mysql服务。
service mysql stop

  关闭服务结果如下:

  

7、登录mysql

  此处需要用到上面初始化MySQL生成的临时密码:jKd)C,hu?6i9。

  MySQL服务已经启动,执行登录命令登录,发现无法找到mysql命令。因为Linux系统会在/usr/bin下面查找mysql命令,而当前的mysql命令在/usr/local/develop/mysql/bin目录下,所以执行mysql命令无法找到。 

  

  建立软连接

ln -s /usr/local/develop/mysql/bin/mysql /usr/bin

   再次访问mysql数据库,出现如下界面表示已登录成功。 

  

8、修改密码

  用临时密码登录到mysql数据库,无法访问数据库databases,需要先修改密码。

  执行如下命令修改密码:

alter user 'root'@'localhost' identified by 'root';
#刷新
FLUSH PRIVILEGES;

  出现如下提示表示密码修改完成。

  

9、数据库工具连接

  数据库工具连接Linux服务上的mysql,出现如下问题,外部不允许访问安装在Linux的数据库。

  

  调整mysql数据库中的user表的外部访问规则:

show databases;
# 选择使用mysql数据库
use mysql
# root可以由任何host访问
update user set host = '%' where user = 'root';
# 刷新权限
FLUSH PRIVILEGES;

  操作详情如下:

  

   再次连接数据库:

 

10、忘记密码

  如果忘记mysql的密码,需要开启免密登录

1、调整/etc/my.cnf配置文件

  在【mysqld】下添加 skip-grant-tables,保存退出。

skip-grant-tables

2、重启mysql服务,使数据生效

 service mysql restart

3、免密登录

mysql -u root -p

  修改密码按照步骤8操作,密码修改完成后,记得去掉/etc/my.cnf配置文件中的。

 

posted @ 2023-04-13 14:01  无虑的小猪  阅读(109)  评论(0编辑  收藏  举报