linux 学习 mysql安装到连接
在Centos7.6 上安装mysql
ps:一般mysql安装后会在/var/log/下面生成一个mysqld.log文件,如果遇到启动不了或者其他问题,基本都可以在这个log文件里面找到错误原因
1.下载mysql和安装
1.1 有梯子,可以使用下面的方法
二、先下载Linux下的Mysql包,打开Mysql官网
https://www.mysql.com/
点击DOWNLOAD,进入 https://www.mysql.com/downloads/
到页面最底部,点击社区版 community(GPL)Downloads>>,进入 https://dev.mysql.com/downloads/
继续点击社区版服务器,进入
https://dev.mysql.com/downloads/mysql/
三、选择版本及系统,点击右侧的Download,进入页面
四、最后开始下载
五、下载完成后的包列表,选择版本不同,后面的版本号可能不同,这个没有关系
陈列如下 mysql-community-client-8.0.16-2.el7.x86_64.rpm
mysql-community-common-8.0.16-2.el7.x86_64.rpm
mysql-community-devel-8.0.16-2.el7.x86_64.rpm
mysql-community-embedded-compat-8.0.16-2.el7.x86_64.rpm
mysql-community-libs-8.0.16-2.el7.x86_64.rpm
mysql-community-libs-compat-8.0.16-2.el7.x86_64.rpm
mysql-community-server-8.0.16-2.el7.x86_64.rpm
mysql-community-test-8.0.16-2.el7.x86_64.rpm
此方法来自https://www.cnblogs.com/lukefan/p/10406522.html
1.2 没有梯子,请使用下面的方法
一、获取mysql YUM源 打开网址:https://dev.mysql.com/downloads/repo/yum/,选择对应linux版本
点击“No thanks, just start my download.”,进行下载
将下载地址复制,得到rpm包的地址
此方法来源https://www.cnblogs.com/lemon-feng/p/11233227.html
这两种方法的区别是是否要在服务器上下载后面的安装包,按照后面的方法,服务器下载时网速渣的要命(感谢长城),但是可以断点,下次继续下载
在后续安装的时候,可以按照选择的不同办法进行安装,其实都是大同小异,在安装完成之后,建议采用下面的办法进行初始化和配置
2.初始化和配置
顺序执行以下语句
mysqld
mysqld --initialize --user=mysql
mysqld --initialize --lower-case-table-names=1 #此设置是设置大小写是否敏感,可前往https://blog.csdn.net/jesseyoung/article/details/40617031查看是否需要设置
#ps:在mysql8中,大小写敏感设置需要在初始化的时候进行设置,后面在配置中进行更改是无效的,所以慎重选择,不然就需要重装。。。。
查看初始密码:
cat /var/log/mysqld.log #或者 cat /var/log/mysqld.log | grep password 或者文件系统进入/var/log/mysqld.log进行查看
启动mysql服务:
service mysqld start
查看一下服务状态是否启动:
service mysqld status
登入数据库:
mysql -uroot -p
输入或者复制进刚才的随机密码
下面会出现一个输入命令的地方
值得注意的是,在mysql中,每一个执行语句后面要加上一个英文分号,不然不会执行,如果忘记加了,可以在下面的">"后面输入英文分号然后回车,例如
设置远程访问授权
mysql -u root -p //登录数据库,如果已经登入,不需要再执行 use mysql //进入mysql数据库,如果已经进入,不需要再执行
select Host,User from user; //查看可以访问数据库的ip
select 'host' from user where user='root';
update user set host = '%' where user ='root'; //将默认的localhost更新为%,%是默认全部可以访问,localhost只是本地可访问,还可以指定公网ip grant all privileges on *.* to 'root'@'%' with grant option; flush privileges;
输入exit退出,打开防火墙开放3306端口,此步骤不在mysql里面执行
如果没有开启防火墙,则输入:systemctl start firewalld 开启
输入下面命令,开放3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
配置默认编码为UTF-8,此步骤不在mysql里面执行
修改/etc/my.cnf配置文件,在[mysqld]下添加编码配置,如下所示:
(这个步骤可以使用vim或者xftp进行修改)
character_set_server=utf8
init_connect='SET NAMES utf8'
编辑保存完重启mysql服务: systemctl restart mysqld
查看下编码:mysql> show variables like '%character%';
此时,外部如果还是不能连接上数据库(可查看https://www.cnblogs.com/zzqit/p/10095597.html),首先查看安全规则组,看是否打开了3306端口
更改密码
更改密码,其实就是更改上面user对应的密码,举例:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';
这一句话,里面root对应上面的user列,localhost对应host列
如果我这句话写成:ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'TiLaMiSu13213#13';
就会报以下错误:ERROR 1396 (HY000): Operation ALTER USER failed for 'root'@'%'
,意思就是找不到对应的user和host,无法进行密码设置,所以这个地方要对应起来才可以
我们如果想更改远程连接rootr的密码,就把上面这句话改成
ALTER USER 'rootr'@'%' IDENTIFIED WITH mysql_native_password BY '你的密码';
这个地方需要自己去设置修改,别直接复制粘贴
设置开机启动:
在/usr/lib/systemd/system/文件夹下创建一个mysql.service,然后进行编辑
#ExecStart 目录可在执行which mysqld 进行查询,注意不要少d
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target [Install]
WantedBy=multi-user.target [Service]
User=root
Group=mysql
ExecStart=/usr/sbin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000
保存后,然后依次执行
systemctl daemon-reload #重新加载服务配置文件
systemctl start mysql #启动mysql
systemctl enable mysqld #设置开机启动
systemctl status mysql #查看mysql的状态
linux 学习 mysql安装到连接的更多相关文章
- Linux学习—mysql安装配置及远程连接
安装前准备 1.检查是否已经安装过mysql 执行命令 [root@localhost /]# rpm -qa | grep mysql 从执行结果,可以看出我们已经安装了mysql-libs-5. ...
- LINUX学习-Mysql安装
一.安装环境 操作系统CentOS6.8 关闭SeLinux和iptables防火墙 二.网络yum源 将下面的软件下载到 /etc/yum.repos.d/ 的目录下 官方基础:http:// ...
- linux下MySQL安装登录及操作
linux下MySQL安装登录及操作 二.安装Mysql 1.下载MySQL的安装文件 安装MySQL需要下面两个文件: MySQL-server-4.0.16-0.i386.rpm MySQL-cl ...
- Linux下MySQL安装及配置
Linux下MySQL安装及配置 安装MySQL Ubuntu系统中,直接使用apt install的方式去安装MySQL的服务端和客户端,MySQL的客户端必须安装,否则无法通过命令连接并操作MyS ...
- Linux服务器MySQL安装
Linux服务器MySQL安装 1. MySQL官网下载如图: 2. 安装MySQL [root@iZ2zebb0428roermd00462Z /]# rpm -ivh https://dev.my ...
- Linux 数据库MySql 安装配置教程!
本文价绍Linux 相关mysql 安装和配置以及基本连接测试 1官网下载安装mysql-server # wget http://dev.mysql.com/get/mysql-community- ...
- Linux下MySQL安装和配置
--Linux下MySQL安装和配置 ---------------------------2014/05/18 Linux下MySQL的配置和安装 本文的安装采用 rpm 包安装 1.首先在官网下载 ...
- Linux下Mysql安装(RPM安装)
1. 首先检查机器里是否已经存在MySQL $ rpm -qa | grep mysql 2. 去官网下载相应的rpm包:https://dev.mysql.com/downloads/mysql/ ...
- linux下MySQL安装及设置
转自:http://www.entage.net/1/viewspace-25420 1. 关于本文 本文将以MySQL 5.0.51为例,以CentOS 5为平台,讲述MySQL数据库的安装和 ...
随机推荐
- numpy.core._exceptions.UFuncTypeError: ufunc 'subtract' did not contain a loop with signature matching types (dtype('<U1'), dtype('float64')) -> None
在机器学习实战的Logistic回归梯度上升优化算法中遇到了这个问题 numpy.core._exceptions.UFuncTypeError: ufunc 'subtract' did not c ...
- 2┃音视频直播系统之浏览器中通过 WebRTC 拍照片加滤镜并保存
一.拍照原理 好多人小时候应该都学过,在几张空白的纸上画同一个物体,并让物体之间稍有一些变化,然后连续快速地翻动这几张纸,它就形成了一个小动画,音视频播放器就是利用这样的原理来播放音视频文件的 播放器 ...
- 结合 Vuex 和 Pinia 做一个适合自己的状态管理 nf-state
一开始学习了一下 Vuex,感觉比较冗余,就自己做了一个轻量级的状态管理. 后来又学习了 Pinia,于是参考 Pinia 改进了一下自己的状态管理. 结合 Vuex 和 Pinia, 保留需要的功能 ...
- Windows UIA自动化测试框架学习--获取qq好友列表
前段时间应公司要求开发一款针对现有WPF程序的自动化测试工具,在网上查资料找了一段时间,发现用来做自动化测试的框架还是比较多的,比如python的两个模块pywinauto和uiautomation, ...
- ajax 请求登录超时跳转登录页解决方法
在Filter里判断是否登录,如果未登录返回401状态 public class SelfOnlyAttribute : ActionFilterAttribute { public override ...
- python常用内置函数和关键字
常用内置方法 在Python中有许许多多的内置方法,就是一些Python内置的函数,它们是我们日常中经常可以使用的到的一些基础的工具,可以方便我们的工作. 查看所有的内置类和内置方法 # 方法一 bu ...
- EF Core 的关联查询
0 前言 本文会列举出 EF Core 关联查询的方法: 在第一.二.三节中,介绍的是 EF Core 的基本能力,在实体中配置好关系,即可使用,且其使用方式,与编程思维吻合,是本文推荐的方式. 第四 ...
- Java 多线程共享模型之管程(上)
主线程与守护线程 默认情况下,Java 进程需要等待所有线程都运行结束,才会结束.有一种特殊的线程叫做守护线程,只要其它非守护线程运行结束了,即使守护线程的代码没有执行完,也会强制结束. packag ...
- swap函数模板
在许多应用程序中,都有交换相同类型的两个变量内容的需要.例如,在对整数数组进行排序时,将需要一个函数来交换两个变量的值,如下所示: void swap(int &a, int &b) ...
- 2021.06.12【NOIP提高B组】模拟 总结
T1 题目大意:有 \(n\) 个点,到点 \(i\) 可以获得 \(A_i\) ,同时消耗 \(B_i\) 若当前价值小于 \(B_i\) 则不能到,问从 \(P\) 开始,任一点结束后的最大值. ...