目录

一、环境

二、下载安装包

三、安装

四、设置远程登录

五、遇到的安装问题

六、参考博客

一、环境

Centos 7

二、下载安装包

semanage centos semanage centos 安装包 选择_初始化

  • Select Operating System: 选择 Red Hat ,CentOS 是基于红帽的,Select OS Version: 选择 linux 7

semanage centos semanage centos 安装包 选择_mysql_02

  • 选择 Compressed TAR Archive 点击 Download
  • 点击 No thanks, just start my download. 下载
  • 下载完成后,使用ftp工具将mysql-8.0.18-el7-x86_64.tar.gz文件上传压缩包到/usr/local目录下

三、安装

  • 打开Xshell,连接到虚拟机上
  • 查看mariadb的安装包
rpm -qa | grep mariadb

semanage centos semanage centos 安装包 选择_初始化_03

  • 卸载mariadbcentos7内部集成了mariadb,安装mysql的话会和mariadb文件冲突,所以需要先卸载mariadb。
rpm -e mariadb-libs-5.5.56-2.el7.x86_64 –nodeps

此处截图省略很多字。

semanage centos semanage centos 安装包 选择_MySQL_04

  • 再次查看mariadb的安装包
rpm -qa | grep mariadb

确认已经卸载掉了

semanage centos semanage centos 安装包 选择_mysql_05

  • 进入到/usr/local目录,解压安装包
cd /usr/local
tar zxvf mysql-8.0.18-el7-x86_64.tar.gz -C /usr/local
  • 重命名
mv mysql-8.0.18-el7-x86_64 mysql
  • 为了安全性,给mysql数据库创建专有用户,该用户只能访问mysql目录,不能访问系统其它目录。

创建mysql用户组

groupadd mysql

创建mysql用户

useradd -r -m -g mysql mysql

创建登录密码,输入密码mysql会报提示密码太短,不够8位,再输一遍就可以了。

passwd mysql

semanage centos semanage centos 安装包 选择_MySQL_06

  • 创建data目录
cd /usr/local/mysql
mkdir data
  • 指定用户和用户组,-R包含目录下所有的目录和文件
cd /usr/local
chown -R mysql mysql/
chgrp -R mysql mysql/
  • 配置my.cnf,命令:vi /etc/my.cnf,参考内容如下
[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/data
# 允许最大连接数
max_connections=10000
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
# 表名不区分大小写
lower_case_table_names=1

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8

[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8
  • 初始化mysql

进入mysql的安装目录:

cd /usr/local/mysql/bin

初始化,并记住密码:

./mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --lc_messages_dir=/usr/local/mysql/share --lc_messages=en_US  --lower_case_table_names=1

切记:记住生成的临时密码,后续用这个秘密登录后要改掉初始密码,如果忘记密码或者想重新初始化,可以先将mysql/data目录中文件删除,然后再执行初始化命令。

  • 启动MySQL服务
cd ..
cd support-files/
./mysql.server start

 

semanage centos semanage centos 安装包 选择_MySQL_07

 注意:如果发生错误的话,参考遇到的安装问题章节。

  • 将MySQL加入系统进程中
cp mysql.server /etc/init.d/mysqld

semanage centos semanage centos 安装包 选择_MySQL_08

  • 重启MySQL服务
service mysqld restart

semanage centos semanage centos 安装包 选择_mysql_09

  • 修改登录密码
cd ..
cd bin
./mysql -u root -p

semanage centos semanage centos 安装包 选择_mysql_10

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';

semanage centos semanage centos 安装包 选择_初始化_11

四、设置远程登录

  • 切换用户
use mysql;

semanage centos semanage centos 安装包 选择_mysql_12

  • Host修改为%
update user set user.Host='%' where user.User='root';

semanage centos semanage centos 安装包 选择_MySQL_13

  • 刷新权限
flush privileges;
  • 退出MySQL:
quit;
  • 重启MySQL服务:
service mysqld restart

至此,CentOS版的MySql就安装完了。

五、遇到的安装问题

  • 启动时报错
[ERROR] Found option without preceding group in config file /etc/my.cnf at line 1.

解决:可能是由于编辑my.cnf时使用了文本编辑软件,导致编码格式错误,删掉my.cny文件,直接使用vi命令编辑文件。

  • 启动时报错
ERROR! The server quit without updating PID file (/usr/local/mysql/data/localhost.localdomain.pid).

解决:查看/usr/local/mysql/data/下的localhost.localdomain.err文件,根据详细信息对症下药。

六、参考博客

https://blog.51cto.com/lancelot/1775931