想在linux服务器上部署项目,先安装mysql数据库,查资料有好多种安装方法,各说各的有点乱,自己装了一天,碰到各种问题,记录一下。
采用yum命令安装:(另:yum update命令不要乱用!不要乱用!不要乱用!
)
第一步:linux网络检测(使用yum方法安装,因为要下载各种依赖文件,需要保证linux服务器能够连接外网。)
检测linux服务器网络连接:
ping www.baidu.com
或者 traceroute www.baidu.com
第二步:卸载原Mysql残余文件
rpm -qa | grep mysql
检测当前系统是否安装mysql
有的话,要先把原来的卸载。
# rpm -e mysql-libs-5.1.73-8.el6_8.x86_64 //普通删除模式,mysql名称要写全,和上面查到的名称一致
# rpm -e --nodeps mysql-libs-5.1.73-8.el6_8.x86_64// 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除
第三部:安装Mysql
自己就是在这一步碰到N多问题搞了一天
yum install mysql
yum install mysql-server
yum install mysql-devel
或者合成一句:
# yum install -y mysql-server mysql mysql-devel
问题一:(出现好多类似[Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 404 Not Found"的报错)
[root@slave88 ~]# yum install mysql-server
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
* base: centos.ustc.edu.cn
* extras: centos.ustc.edu.cn
* updates: centos.ustc.edu.cn
xxxxxxxxxxxxxxxxxxxxx [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 404 Not Found"
xxxxxxxxxxxxxxxxxxxxx [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 404 Not Found"
xxxxxxxxxxxxxxxxxxxxx [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 404 Not Found"
xxxxxxxxxxxxxxxxxxxxx [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 404 Not Found"
xxxxxxxxxxxxxxxxxxxxx [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 404 Not Found"
原因:是由于* base: centos.ustc.edu.cn
* extras: centos.ustc.edu.cn
* updates: centos.ustc.edu.cn 这些的地址可能时间比较久,页面失效,404错误,无法下载相关依赖文件。
解决:1.登录root帐号
2.cd /etc/yum.repo.d
3.mv CentOS-Base.repo CentOS-Base.repo.bak //将CentOS-Base.repo重命名为CentOS-Base.repo.bak进行备份
4.wget http://mirrors.aliyun.com/repo/Centos-7.repo
//可以先在浏览器访问http://mirrors.aliyun.com/repo/Centos-7.repo,若有文件下载则页面可用,未失效。
5.mv Centos-7.repo CentOS-Base.repo //将下载的Centos-7.repo文件重命名为CentOS-Base.repo
6. yum clean all
7. yum makecache
问题二:(提示没有可用包,具体问题代码忘记了…当时搞的头大没有截…大概是…xxxx available package)
解决: 1.# yum -y install wget //安装从网上下载文件的wget命令
2.# wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
//下载mysql的repo源
3.# rpm -ivh mysql-community-release-el7-5.noarch.rpm
//会获得两个mysql的yum repo源:/etc/yum.repos.d/mysql-community.repo,/etc/yum.repos.d/mysql-community-source.repo。
4.# yum install mysql-server // 安装mysql
问题三:
Error: Package: mysql-community-server-5.6.40-2.el7.x86_64 (mysql56-community)
Requires: libc.so.6(GLIBC_2.17)(64bit)
Error: Package: mysql-community-server-5.6.40-2.el7.x86_64 (mysql56-community)
Requires: systemd
Error: Package: mysql-community-libs-5.6.40-2.el7.x86_64 (mysql56-community)
Requires: libc.so.6(GLIBC_2.17)(64bit)
Error: Package: mysql-community-server-5.6.40-2.el7.x86_64 (mysql56-community)
Requires: libstdc++.so.6(GLIBCXX_3.4.15)(64bit)
Error: Package: mysql-community-client-5.6.40-2.el7.x86_64 (mysql56-community)
Requires: libc.so.6(GLIBC_2.17)(64bit)
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
解决:1、yum install glibc.i686
2、yum list libstdc++*
3. #cd /etc/yum.repos.d/
#sudo vi mysql-community.repo
找到mysql-56-community
将enable置为0 enabled=0
重新安装mysql sudo yum install mysql-server
安装mysql成功~
第四步:配置mysql
service mysqld start //启动mysql服务
(注意:第一次启动mysql服务,mysql服务器首先会进行初始化的配置)
这时我们会看到第一次启动mysql服务器以后会提示非常多的信息,目的就是对mysql数据库进行初始化操作,当我们再次重新启动mysql服务时,就不会提示这么多信息了。
service mysqld restart //重新启动mysql
chkconfig --list | grep mysqld //查看mysql配置
发现mysqld服务并没有开机自动启动,可以通过 chkconfig mysqld on 命令将其设置成开机启动,这样就不用每次都去手动启动
chkconfig mysqld on
mysql数据库安装完以后只会有一个root管理员账号,但是此时的root账号还并没有为其设置密码。
为mysql root账户设置密码
mysqladmin -u root password 'root' //设置root用户的密码为root
登录数据库
mysql -u root -p
数据库登录成功~
netstat -antp //查看数据库是否启动,3306端口是否启用
第五步:Navicat登录Mysql数据库
启动Navicat 新建连接…报错,提示Host xxxxx is not allowed to connect to this MySql server
解决:1.打开终端,进入mysql
2.use mysql; //选中mysql中的 ·mysql· 表
3.update user set host = '%' where user = 'root'; //更新权限,修改为允许全部连接
4.select host, user from user; //查看是否修改成功
5.flush privileges; //刷新表的权限(或者重启一次mysql)
执行第三步的时候有可能遇到‘Duplicate entry ‘%-root’ for key ‘PRIMARY’’的问题。说明已有相应的user=‘root’,host=’%'数据,直接执行步骤4.5即可。
再次验证:成功
至此linux服务器下安装mysql数据库,配置数据库,远程登录均已完成~
另:安装完之后的mysql为5.0版本。
linux系统安装mysql8.0 :https://blog.csdn.net/weixin_42954381/article/details/100518497
参考:
https://www.cnblogs.com/yowamushi/p/8043054.html [linux]centos7下解决yum install mysql-server没有可用包
https://blog.csdn.net/qq_35394891/article/details/82901622 yum异常: [Errno 14] PYCURL ERROR 22 - “The requested URL returned error: 404 Not Found”
https://blog.csdn.net/jioho_chen/article/details/81674746 Host xxxxx is not allowed to connect to this MySql server :mysql 拒绝远程主机连接
https://www.cnblogs.com/xiaoluo501395377/archive/2013/04/07/3003278.html Linux学习之CentOS(十三)–CentOS6.4下Mysql数据库的安装与配置
https://blog.csdn.net/qq_16183731/article/details/84138883 Linux服务器安装Mysql数据库
https://blog.csdn.net/ken1583096683/article/details/81195276 Duplicate entry ‘%-root’ for key ‘PRIMARY’