目录
本次安装基于Centos7,平台为云服务器,由XShell软件演示。
注意,请将用户切换为Root用户。
安装之前,清除MySql残留文件
- 检查是否有MySql或者mariadb存在(mariadb是MySql的一个分支)
ps axj | grep mysql
ps axj | grep mariadb
- 如果有,则关闭服务
systemctl stop mysqld
- 查看和mysql相关的所有包(Centos下是以rpm结尾)
rpm -qa | grep mysql
- 卸载这些包
rpm -qa | grep mysql | xargs yum -y remove
- 卸载完成后,检验是否还有MySql的配置信息
//MySql配置文件
ls /etc/my.cnf
//MySql的库信息
ls /var/lib/mysql
下载MySql的官方yum源
注意,下载时要下载和自己系统相对应的源。比如我的机器,运行下面这条命令查看镜像信息。
cat /etc/redhat-release
CentOS Linux release 7.8.2003 (Core)
右键查看源代码,方便查看到所有信息。
选择MySql5.7,包名为57,el7表示Centos7。
下载完成后,该包是下载到了我的Windows机器上,由于我使用的是云服务器,需要将这个包传到云服务器上面。
新建一个目录,用来安装MySql。
运行rz命令,回车,
rz
rz命令来自英文词组receive Zmodem的缩写,其功能是基于Zmodem协议上传文件到服务器。当我们在使用Xshell、SecureCRT、PuTTY等虚拟终端软件时,可以使用rz命令将本地文件上传到服务器,方法是直接输入rz命令后选择要上传的文件即可。 若您的系统中找不到sz与rz命令,请配置好软件仓库后执行yum install lszrz命令即可。
- 查看yum源发现并未安装MySql的yum源
ls /etc/yum.repos.d/ -l
- 安装mysql源
MySql的yum源已经下载到本地了,只需要安装即可。
[@VM-0-3-centos 7.9]$ ls
mysql57-community-release-el7-10.noarch.rpm
rpm -ivh mysql57-community-release-el7-10.noarch.rpm
安装MySql 服务
现在MySql的所有yum源已经安装好了,查看这些服务包。
yum list | grep mysql
- 一键安装。
yum install -y mysql-community-server
- 检验是否安装成功。
//查看配置文件是否存在
ls /etc/my.cnf
//查看mysql的服务器
which mysqld
- 启动mysql
systemctl start mysqld
- 查看是否启动成功
ps axj | grep mysqld
- 查看Mysql服务端口号
netstat -nltp
- 登录
方法一:
获取临时登录密码
grep 'temporary password' /var/log/mysqld.log
登录
mysql -uroot -p
输入临时密码。
方法二:
可能没有密码,回车即可登录。
方法三:
打开配置文件。
vim /etc/my.cnf
在【mysqld】一栏最后一行加入
skip-grant-tables
重启MySql服务。
systemctl restart mysqld
登录。
- 设置开机自启(可以不设置)
systemctl enable mysqld
systemctl daemon-reload
MySql配置
- 配置my.cnf
vim my.cnf
#配置⼀下my.cnf,主要是数据库客⼾端和服务器的编码格式
[whb@VM-0-3-centos 9.9]$ cat /etc/my.cnf
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
[mysql]
#default-character-set=utf8 ,暂不设置,mysql有bug,汉字不回显
[mysqld]
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
//主要配置这三行
// 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即可
常见问题
- mysql 已经配置了客户端、服务器utf-8编码,但是无法输入中文
确保您在终端命令行中可以输入中文
env |grep LANG
LANG=en_US.utf8
- 安装遇到秘钥过期的问题:
Failing package is: mysql-community-client-5.7.39-1.el7.x86_64
GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
解决方案,更新密钥即可。
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022