CentOS下安装Mysql

一:先来查下当前是否有安装mysql:rpm -qa |grep mysql

查询到我当前的系统有这个文件,那么进行删除。

二:对当前mysql进行删除:

rpm -e mysql-libs:普通删除

提示这个的原因是因为有依赖其他的文件,下面我们要进行强制删除:rpm -e --nodeps mysql-libs,删除后我们再用rpm-qa|grep mysql查询下

可以看到mysql已经删除完毕了

三:安装MySQL

1、安装编译代码需要的包:yum -y install make gcc-c++ cmake bison-devel ncurses-devel

此处yum命令如果执行失败,是因为CentOS6的镜像源被官方移除了,解决方法可以参考:

一键修复

复制代码
sed -i "s|enabled=1|enabled=0|g" /etc/yum/pluginconf.d/fastestmirror.conf
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
curl -o /etc/yum.repos.d/CentOS-Base.repo https://www.xmpan.com/Centos-6-Vault-Aliyun.repo 
yum clean all
yum makecache

手动修复

首先把fastestmirrors关了

复制代码
#编辑
vi /etc/yum/pluginconf.d/fastestmirror.conf
#修改
enable=0
#或者执行以下命令
sed -i "s|enabled=1|enabled=0|g" /etc/yum/pluginconf.d/fastestmirror.conf

先把之前的repo挪到备份,然后下面两个二选一

复制代码
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak

替换为官方Vault源(海外服务器用)

复制代码
curl -o /etc/yum.repos.d/CentOS-Base.repo https://www.xmpan.com/Centos-6-Vault-Official.repo

或者替换为阿里云Vault镜像(国内服务器用)

复制代码
curl -o /etc/yum.repos.d/CentOS-Base.repo https://www.xmpan.com/Centos-6-Vault-Aliyun.repo

下列是错误详情

复制代码
[root@c8-20 ~]# yum makecache
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
YumRepo Error: All mirror URLs are not using ftp, http[s] or file.
 Eg. Invalid release/repo/arch combination/
removing mirrorlist with no valid mirrors: /var/cache/yum/x86_64/6/base/mirrorlist.txt
Error: Cannot find a valid baseurl for repo: base

或者

复制代码
[root@li496-237 ~]# yum -y install unzip zip
Loaded plugins: fastestmirror
Setting up Install Process
Determining fastest mirrors
YumRepo Error: All mirror URLs are not using ftp, http[s] or file.
Eg. Invalid release/repo/arch combination/
YumRepo Error: All mirror URLs are not using ftp, http[s] or file.
Eg. Invalid release/repo/arch combination/
YumRepo Error: All mirror URLs are not using ftp, http[s] or file.
Eg. Invalid release/repo/arch combination/
http://mirrors.linode.com/centos/6/os/x86_64/repodata/repomd.xml: [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 404 Not Found"
Trying other mirror.
To address this issue please refer to the below knowledge base article 

https://access.redhat.com/articles/1320623

If above article doesn't help to resolve this issue please open a ticket with Red Hat Support.

Error: Cannot retrieve repository metadata (repomd.xml) for repository: base. Please verify its path and try again

CentOS 8 (非 Stream 版)已提前进入 EOL 停止服务阶段,因此镜像已被官方移动。如果您正在寻找关于这些系统的镜像,请参考 centos-vault 的帮助。

复制代码
CentOS 8 结束生命周期如何切换源
公网用户:
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
yum clean all && yum makecache
阿里云ecs用户:
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
sed -i 's/mirrors.cloud.aliyuncs.com/url_tmp/g' /etc/yum.repos.d/CentOS-Base.repo && sed -i 's/mirrors.aliyun.com/mirrors.cloud.aliyuncs.com/g' /etc/yum.repos.d/CentOS-Base.repo && sed -i 's/url_tmp/mirrors.aliyun.com/g' /etc/yum.repos.d/CentOS-Base.repo
yum clean all && yum makecache

CentOS,是基于Red Hat Linux提供的可自由使用源代码的企业级Linux发行版本;是一个稳定,可预测,可管理和可复制的免费企业级计算平台。

下载地址: centos安装包下载_开源镜像站-阿里云

相关仓库:

配置方法

通知:CentOS 8操作系统版本结束了生命周期(EOL),Linux社区已不再维护该操作系统版本。建议您切换到Anolis或Alinux。如果您的业务过渡期仍需要使用CentOS 8系统中的一些安装包,请根据下文切换CentOS 8的源。

1. 备份

复制代码
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

2. 下载新的 CentOS-Base.repo 到 /etc/yum.repos.d/

centos8(centos8官方源已下线,建议切换centos-vault源)
复制代码
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo

或者

复制代码
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo

centos6(centos6官方源已下线,建议切换centos-vault源)

复制代码
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-6.10.repo

或者

复制代码
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-6.10.repo

CentOS 7

复制代码
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

或者

复制代码
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

3. 运行 yum makecache 生成缓存

4. 其他

非阿里云ECS用户会出现 Couldn't resolve host 'mirrors.cloud.aliyuncs.com' 信息,不影响使用。用户也可自行修改相关配置: eg:

复制代码
sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo

CentOS 8 结束生命周期如何切换源

公网用户:

复制代码
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
yum clean all && yum makecache

阿里云ecs用户:

复制代码
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.aliyuncs.com/repo/Centos-vault-8.5.2111.repo
sed -i 's/mirrors.cloud.aliyuncs.com/url_tmp/g' /etc/yum.repos.d/CentOS-Base.repo && sed -i 's/mirrors.aliyun.com/mirrors.cloud.aliyuncs.com/g' /etc/yum.repos.d/CentOS-Base.repo && sed -i 's/url_tmp/mirrors.aliyun.com/g' /etc/yum.repos.d/CentOS-Base.repo
yum clean all && yum makecache

相关链接

2、下载Mysql,此处我准备了Mysql-5.6.14版本:

3、下载好后,将安装包上传到/opt目录下

4、解压mysql压缩包:tar -zxvf mysql-5.6.14.tar.gz

5、进入到解压的mysql目录:cd mysql-5.6.14

6、执行编译安装:

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci

7、执行编译并且进行安装: make && make install

自此,Mysql已经安装完毕了,默认安装在了usr/local路径下,接下来进行MySQL配置

四:MySQL配置

1、新增mysql用户组与用户

使用cat /etc/group |grep mysql 查看是否有mysql用户组,没有则创建mysql用户组:groupadd mysql

使用cat /etc/passwd |grep mysql 查看是否有mysql用户,没有则创建mysql用户:useradd -g mysql mysql

2、修改/usr/local/mysql权限为mysql用户所有:chown mysql:mysql /usr/local/mysql

3、进入到mysql的安装路径,执行初始化配置脚本,创建系统自带的数据库和表

(1):进入mysql安装路径:cd /usr/local/mysql

(2):执行初始化配置:scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql

4、启动mysql

(1)拷贝mysql.server服务文件到/etc/init.d/mysql目录下:cp support-files/mysql.server /etc/init.d/mysql

(2):设置mysql自动启动:chkconfig mysql on

(3):手动启动mysql:service mysql start

(4):查看mysql是否已启动:netstat -anp |grep mysql

证明myql已经启动成功

5、修改mysql密码

(1)切换到mysql的bin目录下:cd /usr/local/mysql/bin

(2)执行mysql文件:./mysql -uroot

(3)设置密码:

展示当前所有库:show databases;

使用mysql库:use mysql;

更新密码:update user set password=password('root');

6、配置mysql环境变量

(1)编辑/etc/profile文件,在PATH变量下追加mysql的bin路径

(2)刷新/etc/profile文件,使配置立即生效:source /etc/profile

(3)刷新后就可以在任意路径下连接mysql了:

五、设置mysql可以远程连接登录

1、首先在linux中连接上mysql,执行mysql语句:

use mysql;

select user,host from user;

发现当前的mysql配置是只允许linux本机连接的,下面配置成可以远程连接

(2)修改mysql可以远程连接: update user set host='%' where user='root';

此处会报个错误:Duplicat entry '%-root' for key 'PRIMARY',忽略即可

(3)刷新配置:flush privileges

(4)使用Windows的navicat连接到Linux的mysql测试:

连接失败,此处我首先猜测的原因是Linux开启了防火墙,连接不上,下面进行验证下:

查看防火墙状态:service iptables status

观察到防火墙确实是开启的,下面将防火墙关了:service iptables stop

再进行远程连接:

连接成功了,大功告成。

相关推荐
AWS官方合作商2 小时前
从AWS MySQL数据库下载备份到S3的完整解决方案
数据库·mysql·aws
小码过河.2 小时前
centos 新加磁盘分区动态扩容
linux·运维·centos
库森学长3 小时前
索引失效的场景有哪些?
后端·mysql·面试
Komorebi_99994 小时前
MySQL常用指令
数据库·mysql
叁沐5 小时前
MySQL 17 如何正确地显示随机消息?
mysql
水瓶_bxt5 小时前
虚拟机centos服务器安装
linux·服务器·centos
王木风5 小时前
InnoDB 多版本控制 &慢sql排查(基于MySQL 5.7)
数据库·sql·mysql
midsummer_woo8 小时前
基于springboot+vue+mysql的知识管理系统(源码+论文)
vue.js·spring boot·mysql
RainbowSea9 小时前
用户中心——比如:腾讯的QQ账号可以登录到很多应用当中 02
java·spring boot·mysql