经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 数据库/运维 » MySQL » 查看文章
(1)MySQL进阶篇在linux环境下安装
来源:cnblogs  作者:暗断肠  时间:2021/2/22 9:00:22  对本文有异议

1.概述

对于mysql二进制安装,优点是可以安装到任何路径下,灵活性好,一台服务器可以安装多个mysql。缺点是已经编译过,性能不如源码编译得好,不能灵活定制编译参数。如果用户即不想安装最简单却不够灵活的RPM包,又不想安装复杂费时的源码包,那么已编译好的二进制包将是最好的选择,下面让我们来介绍如何在linux系统下安装mysql服务端。

2.前期准备

2.1下载mysql二进制安装包

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

因为我下载的是mysql-8.0.23-linux-glibc2.12-x86_64.tar版本,如果有最新版本,则下载最新版本就好了。

2.2导入mysql二进制安装包

通过Xftp工具把安装包传输到linux系统package目录去:

3.mysql部署

●解压mysql安装包

  1. --切换到安装目录
  2. cd /app
  3. --解压xz压缩文件
  4. tar -xvf /app/package/mysql-8.0.23-linux-glibc2.12-x86_64.tar.xz

●修改mysql文件夹名称

  1. --把mysql-8.0.23-linux-glibc2.12-x86_64修改为mysql文件夹名称
  2. mv /app/mysql-8.0.23-linux-glibc2.12-x86_64 /app/mysql

●创建data目录

  1. --mysql根目录下创建data目录,用于存放数据
  2. mkdir /app/mysql/data

●创建mysql用户组和mysql用户

  1. --创建mysql用户组和mysql用户
  2. groupadd mysql
  3. useradd -g mysql mysql

●修改mysql目录权限

  1. --修改mysql目录权限
  2. chown -R mysql.mysql /app/mysql/

●初始化数据库

  1. --先切换到mysql安装目录
  2. cd /app/mysql
  3. --初始化数据库
  4. bin/mysqld --initialize --user=mysql --basedir=/app/mysql --datadir=/app/mysql/data


●配置mysql

  1. --先切换到mysql.support-files目录
  2. cd /app/mysql/support-files
  3. --在mysql/support-files创建文件my-default.cnf
  4. touch my-default.cnf
  5. --复制配置文件到/etc/my.cnf
  6. cp -a ./my-default.cnf /etc/my.cnf
  7. --编辑my.cnf
  8. vim /etc/my.cnf

my.cnf输入如下配置内容:

  1. [client]
  2. port=3306
  3. socket=/tmp/mysql.sock
  4. [mysqld]
  5. port=3306
  6. user=mysql
  7. socket=/tmp/mysql.sock
  8. basedir=/app/mysql
  9. datadir=/app/mysql/data

●配置环境变量

  1. --编辑profile文件
  2. vim /etc/profile
  3. --配置mysql环境变量
  4. PATH=/data/mysql/bin:/data/mysql/lib:$PATH
  5. export PATH
  6. --使mysql环境变量生效
  7. source /etc/profile
  8. --看环境变量是否生效
  9. echo $PATH

●启动mysql

  1. cd /app/mysql/bin
  2. systemctl start mysqld
  3. or
  4. service mysql start

启动mysql时候可能会遇到如下错误:
●Failed to start mysqld.service: Unit not found.

or
Starting MySQL.Logging to '/app/mysql/data/dengwu.err'.
... ERROR! The server quit without updating PID file (/app/mysql/data/dengwu.pid).

解决方法如下:

  1. --需要安装mariadb-server
  2. yum install -y mariadb-server
  3. --然后启动mariadb服务
  4. systemctl start mariadb.service
  5. --需要的可以添加mariadb服务开机启动
  6. systemctl enable mariadb.service

●Job for mariadb.service failed because the control process exited with error code. See "systemctl status mariadb.service" and "journalctl -xe" for details.

解决方法如下:

  1. chown -R mysql.mysql /app/mysql/

●Starting MySQL... ERROR! The server quit without updating PID file (/app/mysql/data/dengwu.pid).
解决方法如下:

  1. --查看mysql进程
  2. ps -ef|grep mysqld
  3. --杀死mysql进程
  4. kill -9 mysql进程ID

然后重新启动下mysql:

4.修改mysql密码

root用户第一次登录mysql,因为初始密码我们并不知道,一般情况下我们都会重新设置一个新的密码,具体操作如下:

  1. --编辑my.cnf
  2. vim /etc/my.cnf

输入如下命令行:

  1. default_authentication_plugin=mysql_native_password

如果忘记了密码再加上:

  1. --跳过密码验证(等设置了密码就去掉)
  2. skip-grant-tables

然后登录mysql:

  1. --登录mysql
  2. mysql -u root -p

然后输入命令查看mysql用户组:

  1. --查看mysql用户表
  2. select user,host,authentication_string from mysql.user;


看看root用户没有开启远程连接权限,如果没有则执行如下命令:

  1. --修改root用户可以远程连接
  2. update mysql.user set host='%' where user='root';

开启远程连接权限后,再来修改root用户密码:

  1. --如果hostlocalhost则@字符后面是localhost,反之则是%,以host结果为准
  2. --修改加密规则
  3. alter user 'root'@'%' identified by 'qwer1234' password expire never;
  4. --更新一下用户的密码
  5. alter user 'root'@'%' identified with mysql_native_password by 'qwer1234';
  6. --刷新权限
  7. flush privileges;
  8. --修改root用户密码
  9. alter user 'root'@'%' identified by 'qwer1234';

如果防火墙开启了,则需要加入允许mysql端口访问权限,具体命令如下:

  1. --允许访问
  2. firewall-cmd --permanent --zone=public --add-port=3306/tcp
  3. --重新加载
  4. firewall-cmd --reload
  5. --查看是否开通访问权限
  6. firewall-cmd --permanent --zone=public --query-port=3306/tcp

然后重新启动mysql:

  1. --重新启动mysql
  2. service mysql restart;

5.配置mysql阿里云安全组策略

登录阿里云->安全组规则->访问规则->入方向->手动添加如下策略:

使用Navicat连接成功:


参考文献:
linux下安装mysql8.0.x步骤

原文链接:http://www.cnblogs.com/wzk153/p/14425829.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号