Linux 安装Mysql 详细教程(图文教程)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/bai_shuang/article/details/122939884

 

 

首先通过 xshell 或者 putty 远程进入Linux 命令行操作界面。

Xshell 的安装

1.去 XShell - Download 下载需要的版本。

XShell免费版(解决官网打不开的问题)

百度网盘:https://pan.baidu.com/s/1-pgv4cChPPdqU_JFI5H33Q
密码6dj5

【1】查看是否已经安装 Mysql

rpm -qa | grep mysql

下面是我的操作,可见并没有安装 Mysql,那么直接进入【2】

 

如果你查看出来有东西,可以使用下面命令将其删除(xxx 为文件全名)

rpm -e xxx

【2】下载官方 Mysql 包

1. 下载mysql   MySQL :: Download MySQL Community Server (Archived Versions)

选择对应的包 如下5.7包

 

  2. 上传解压(解压后可删除安装包,节省空间)

tar -zxvf mysql-5.7.35-linux-glibc2.12-x86_64.tar.gz

3. 先检查是否有mysql用户组和mysql用户,没有就添加有就忽略:

groups mysql 

 

 添加用户组和用户 groupadd mysql && useradd -r -g mysql mysql

 

4.创建数据目录并赋予权限

       mkdir -p /data/mysql
  chown mysql:mysql -R /data/mysql

 

 5.修改配置文件  vim /etc/my.cnf (没有就新建)

[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/data/mysql
socket=/tmp/mysql.sock
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
#character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true

 

6. 初始化

解压后的mysql-5.7.35-linux-glibc2.12-x86_64文件移动到/usr/local/mysql (文件夹名称修改为mysql不带版本号信息)

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

 

注意:如果报错

./mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such

 

问题:安装mysql执行./mysqld --user=mysql --basedir=/usr/mysql/mysql-8.0.20 --datadir=/usr/mysql/mysql-8.0.20/data/ --initialize 报异常:

./mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such

原因:新的服务器环境,很多命令依赖工具包没有。

解决:

执行安装命令:

yum install -y libaio
再次执行,安装mysql执行./mysqld --user=mysql --basedir=/usr/mysql/mysql-8.0.20 --datadir=/usr/mysql/mysql-8.0.20/data/ --initialize 执行成功

 

 

 

 

7. 查看初始密码

cat /data/mysql/mysql.err

 

 

 8. 启动mysql

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

 

  修改密码

1. 开启免密码登陆 修改my.cnf文件 默认在/etc/my.cnf。

 vim /etc/my.cnf 在【mysqld】模块下面添加:skip-grant-tables 保存退出。

2. 重启服务,使配置生效 。

service mysql restart

3. 登陆 /usr/local/mysql/bin/mysql -u root -p //不输入密码直接敲回车键

 

4. 刷新规则允许外部访问
  use mysql      #选择访问mysql库
  update user set host = '%' where user = 'root';      #使root能再任何host访问
  FLUSH PRIVILEGES;       #刷新

5.修改密码

ALTER USER "root"@"%" IDENTIFIED BY "123456";

FLUSH PRIVILEGES;       #刷新

6. 退出 quit

把/etc/my.cnf免密删掉。

重启服务 service mysql restart

7. 登陆 /usr/local/mysql/bin/mysql -u root -p //输入刚修改的密码123456敲回车键

 

用户权限之创建新用户并给授权指定的数据库权限

创建mysql新用户

CREATE USER 'test'@'%' IDENTIFIED BY '123';

备注上面@后的命令解释

'%' - 所有情况都能访问
‘localhost’ - 本机才能访问
’111.222.33.44‘ - 指定 ip 才能访问

3.给用户授予权限

grant all on 数据库名.数据库表 to 用户名@'%' identified by "密码";

备注

all 可以替换为 select,delete,update,create,drop
数据库名 所有的 用 *
数据库表 所有的 用 *

如果是阿里云ECS,记得查看云安全组规则是否开放了3306端口,如果没有,记得加上

 

posted @ 2022-12-07 10:52  风中追风boy  阅读(1258)  评论(0编辑  收藏  举报