Linux安装Mysql具体教程(两种安装方法)

打印 上一主题 下一主题

主题 532|帖子 532|积分 1596

Linux之Mysql安装设置



  • 第一种:Linux离线安装Mysql(提前手动下载好tar.gz包)
  • 第二种:通过yum安装设置Mysql(服务器有网络)
第一种:tar.gz包安装

1、 查看是否已经安装 Mysql

  1. rpm -qa | grep mysql
复制代码
假如没有什么返回信息,分析没有安装 Mysql,那么直接进入2

2、下载官方 Mysql 包

官方下载地址
选择对应的包 如下mysql5.7(最常用)

3. 上传到服务器后解压(解压后可删除安装包,节省空间)

一样平常放在在/usr/local目录下
  1. # 解压文件至/usr/local/目录
  2. tar -zxvf mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz
  3. # 重命名为 mysql
  4. mv /usr/local/mysql-5.7.20-linux-glibc2.12-x86_64/ /usr/local/mysql
复制代码
解压重命名后目录一样平常是这样的

4、创建用户组

至于为什么要创建用户和组可以看看这篇 Linux下安装Mysql为什么要创建对应的用户和用户组
  1. groupadd mysql     #创建用户组
  2. # -r 参数表示 mysql 用户是系统用户,不可用于登录系统,创建用户 mysql 并将其添加到用户组 mysql 中
  3. useradd -r -g mysql mysql
复制代码
分配用户组
  1. chown -R mysql /usr/local/mysql/ # 将文件的所有属性改为 mysql 用户
  2. chgrp -R mysql /usr/local/mysql/ # 将组属性改为 mysql 组
复制代码
5.创建数据目录并赋予权限

  1. mkdir -p /data/mysql #数据目录
  2. chown mysql:mysql -R /data/mysql
复制代码
6.修改设置文件 vim /etc/my.cnf

  1. [mysqld]
  2. bind-address=0.0.0.0
  3. port=3306
  4. user=mysql
  5. basedir=/usr/local/mysql
  6. datadir=/data/mysql
  7. socket=/tmp/mysql.sock
  8. log-error=/data/mysql/mysql.err
  9. pid-file=/data/mysql/mysql.pid
  10. #character config
  11. character_set_server=utf8mb4
  12. symbolic-links=0
  13. explicit_defaults_for_timestamp=true
复制代码
7.初始化数据库

参数: --basedir 为mysql解压目录,–datadir 为mysql数据存放目录。(注意安装路径是否同等)
  1. cd /usr/local/mysql/bin/
  2. ./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize
复制代码
查看初始密码
  1. cat /data/mysql/mysql.err
复制代码
密码已经天生

注:在初始化数据库时可能报缺少xx动态库的错误
如:error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
解决方法:
第1步:查看是否安装了libaio,无返回则分析未安装,执行步骤2
  1. rpm -qa|grep libaio
复制代码
第2步:切换到root用户,使用下令yum install -y libaio进行安装
8. 加入到系统服务并启动mysql

  1. cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
  2. service mysql start
复制代码

登录mysql,肯定要开启服务后才气登陆
  1. /usr/local/mysql/bin/mysql -u root -p
复制代码

登录成功后会提示你重置密码
  1. # 修改密码,SQL语句后面的分号不能丢
  2. ALTER USER 'root'@'localhost' IDENTIFIED BY '1234';
  3. FLUSH PRIVILEGES;       #刷新
复制代码
退出 quit
重启服务 service mysql restart
再次登陆 /usr/local/mysql/bin/mysql -u root -p
//输入刚修改的密码1234敲回车键
到此mysql已经安装完成了
在用工具毗连mysql时提示:
MySQL 异常: "Host 'xxx' is not allowed to connect to this MySQL server"
解决:
登录mysql,刷新规则允许外部访问
host修改成%表示,所有主机都可以通过root用户访问数据库
  1. use mysql      #选择访问mysql库
  2. update user set host = '%' where user = 'root';      #使root能再任何host访问
  3. FLUSH PRIVILEGES;       #刷新
复制代码
第二种:通过yum在线安装Mysql

1、找到对应linux的版本进行下载
  1. [root@localhost ~]# cat /etc/redhat-release
  2. CentOS Linux release 7.8.2003 (Core)
复制代码
下载和安装mysql源
  1. 下载地址:https://dev.mysql.com/downloads/repo/yum/ 或 http://repo.mysql.com
  2. #使用wget下载mysql
  3. wget http://repo.mysql.com/mysql80-community-release-el7.rpm
复制代码
假如表现wget未找到下令,则需要先安装wget:
yum -y install wget,然后再次执行上面下令, 使用上面的下令就直接下载了安装用的Yum Repository,大概25KB的样子,然后就可以直接yum安装了。

结果图

2. 第二步 安装
(1) 通过yum安装方法,会直接添加mysql环境变量和启动服务
  1. yum -y install mysql80-community-release-el7.rpm
复制代码

(2) 安装MySQL服务器:community-server
  1. yum -y install mysql-community-server
复制代码

3、第三步 启动服务并查看服务状态
  1. systemctl start mysqld        #一定要启动服务!
  2. systemctl status mysqld      #查看服务状态
复制代码

4、第四步 获取密码
登录 MySQL 必须要通过密码,此时 root 用户的密码可以通过以下下令在日志文件中获取:
  1. grep "password" /var/log/mysqld.log
复制代码

5、第五步 登录并求改密码
(1)登录

(2) 修改密码(修改规则)

  1. MySQL 8.0+ 版本为以下方式:(规则修改)
  2. set global validate_password.policy=0;
  3. set global validate_password.length=4;
  4. MySQL 8.0+ 版本为以下方式:(密码修改)
  5. ALTER USER 'root'@'localhost' IDENTIFIED BY '1234';
复制代码
6、第六步 授权
授权远程用户毗连
  1. # 改表法
  2. # 选择数据库
  3. use mysql;
  4. # 最后授权 MySQL,允许远程用户登录访问 MySQL
  5. update user set host = '%' where user = 'root';
  6. # 刷新权限
  7. flush privileges;
复制代码
通过yum安装Mysql完毕!
参考:前端日记

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

美丽的神话

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表