MySQL的安装
1. Centos7下的安装
1.1 卸载不必要的环境
首先查看一下你的Centos7中有没有MySQL或者mariadb(mariadb其实就是MySQL,只不过是MySQL的一个分支)。
使用命令:
ps ajx | grep mysql
ps ajx | grep mariadb
以MySQL为例:
-
要卸载它,必须先停止其对应的服务,对于这种服务在Linux下一般级别较高,所以我们使用
su -
命令来提权切换成超级用户。使用命令:
systemctl stop process
-
检查系统安装包。
我们用yum安装的软件一般都是以
.rpm
结尾的,所以使用命令来查询MySQL安装包rpm -qa | grep mysql
-
批量化卸载
rpm -qa | grep mysql | xargs yum -y remove
将我们的安装包列表以xargs的形式喂给yum,也就是一个个的以命令行参数的形式将安装包拼到yum -y remove
命令之后。
使用命令ls /var/lib/mysql/
可以查看mysql的数据,卸载mysql默认是不清除数据的。
1.2 获取官方的yum源
- 获取MySQL官方yum源:
或者可以去这里,MySQL开发者专区
- 使用命令确定你自己的系统版本(注意:最好安装和自己系统一致的MySQL版本,否则可能会存在软件兼容性问题)
cat /etc/redhat-release
这是我的CentOS版本。
(可以单击鼠标右键查看网页源代码,就可以查看到详细的MySQL版本了)
- 下载对应的MySQL
我们最常用的是MySQL版本是5.7版本(当然你也可以选择其他版本酌情下载),后面的el代表CentOS的版本,这里没有我要的7.6版本,于是直接下el7即可。
- 使用命令
rz
拉取本地的安装包
查看一下,确实存在了该安装包:
1.3 安装yum源
- 首先查看本地yum源
ls /etc/yum.repos.d/ -l
可以发现,本地yum
源并没有MySQLyum
源,所以我们需要进行安装。
- 安装yum源
rpm -ivh mysql57-community-release-el7.rpm
(-ivh
相当于解压并拷贝后面的命令)
一瞬间安装完成!
- 查看安装后的yum源列表
明显的发现,多了俩这玩意,此时就具有了MySQL的yum源
此时mysql57-community-release-el7.rpm
这个安装包也就没有存在的意义了,删除即可~
- 看看该yum源能否正常工作
首先看一下这个yum里有什么东西
vim /etc/yum.repos.d/mysql-community.repo
这里有各种版本的yum,这个yum源会根据我们的系统自动为我们选择最匹配版本的MySQL。
检查该yum源是否能正常工作。
yum list | grep mysql
很不幸,出错了捏!
网上找了很多方案都没说到点子上也没有解决,于是问了下身边的大佬,给了个解决方案!
这个是因为目前这个网站已经停止了
- 检查网卡是否启动
systemctl restart network
- 重启网卡
sed -i s/mirror.centos.org/vault.centos.org/g /etc/yum.repos.d/*.repo
sed -i s/^#.*baseurl=http/baseurl=http/g /etc/yum.repos.d/*.repo
sed -i s/^mirrorlist=http/#mirrorlist=http/g /etc/yum.repos.d/*.repo
- 更新网址
正常工作了!
1.4 安装MySQL服务
yum -y install mysql-community-server
安装遇到秘钥过期的问题:
解决方案:
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
安装完成!
ls /etc/my.cnf
which mysqld
which myql
有了这三个东西就证明我们MySQL已经装好啦!
启动MySQL,systemctl start mysqld
可以看到确实有mysqld这样的守护进程已经跑起来了。
1.5 准备登录
1.5.1 方法一:
- 获取临时root密码
(这个方法在比较高的版本是不支持的)
grep 'temporary password' /var/log/mysqld.log
但是我这个居然支持!
- 使用临时密码登录:
mysql -uroot -p
- 判断修改密码时候新密码是否符合当前的策略,不满足报错,不让修改,关闭它。安全强度,默认为中,即1,要求必须包含 数字、符号、大小写字母,长度至少为8位。
set global validate_password_policy=0;
- 密码最小长度
set global validate_password_length=1;
- 修改本地登录密码,暂不授权远程登录
ALTER USER 'root'@'localhost' IDENTIFIED BY '你要修改的密码';
- 刷新权限
FLUSH PRIVILEGES;
1.5.2 方法二:
- 如果你安装的最新的mysql,没有所谓的临时密码,root默认没有密码。
- 试着直接client登陆一下。
mysql -uroot -p
直接回车
(不行的话直接跳过跳过下一个)
1.5.3 方法三:
(这种方法相对通用)
- 打开mysql配置文件
vim /etc/my.cnf
在[mysqld]最后一栏配置(不知道是什么,就放在配置文件最后)加入:skip-grant-tables
选项,并保存退出。
- 重启mysql服务
systemctl restart mysqld
或者
systemctl stop mysqld // 先停止
systemctl start mysqld // 再启动
- 再次重新登陆
mysql -uroot -p
直接回车就可以了~
1.6 设置配置文件
设置开机启动(对于云服务来说无关紧要,因为云服务器是不会关机的)
systemctl enable mysqld
systemctl daemon-reload
配置一下my.conf,主要是数据库客户端和服务器的编码格式。
vim /etc/my.cnf
port=3306 #端口号是可以配置的
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
character-set-server=utf8
default-storage-engine=innodb
配置完毕,重启mysql即可
2. Ubuntu下的安装
- 访问下载页面并下载发布包:MySQL :: Download MySQL APT Repository,也可以通过Index of /232905 (mysql.com)查找并
下载。 - 安装发布包
- 发布包的命名格式:
mysql-apt-config_w.x.y-z_all.deb
。- 可以在支持APT打包工具的Debian和Ubuntu 系统中使用相同的发布包
- 切换到root用户
使用命令切换到root用户
su -
- 安装rz工具
使用命令
apt install lrzsz
- 拖拽上传发布包并查看
看看你的文件列表有没有这个文件就完事了:mysql-apt-config_0.8.26-1_all.deb
- 安装发布包
dpkg -i mysql-apt-config_0.8.26-1_all.deb
- 从MySQL APT 源更新包信息
apt-get update
- 安装MySQL
- 安装命令
apt-get install mysql-server
- 确认安装的MySQL版本
- 在安装过程中要求输入root用户的密码和确认密码,可以输入类似123456的简单密码
- 选择密码策略
- 安装完成后,将会在服务器上安装MySQL服务、客户端工具和其他公共组件
- 查看MySQL状态
安装完成后MySQL服务会自动启动
可以使用
systemctl [stop| start| restart| status] mysql
命令对MySQL服务进行[停止|启动|重启|查看服务状态]
操作。
- 开机自启动
systemctl enable mysql
- 登录MySQL
mysql -uroot -p
其实总体上和CentOS下的操作差不多~
3. Windows下的安装
Windows下推荐使用安装程序进行安装。
安装程序下载地址:MySQL :: MySQL Community Downloads。
根据程序提示安装即可!