镜像环境:Centos7
远程访问:SSH
- 客户端远程访问服务端必须通过SSH服务(安全协议)才行;
- CentOS中默认安装了SSH服务,可以通过以下指令验证:(在本地终端执行)
[root@localhost ~]# ps -ef|grep ssh |
提示:看到有进程号6294说明ssh服务正在运行;
SSH客户端:MobaXterm22.0
安装mysql:
- 如果是解压源码包安装方式,则需要使用xftp或其他工具将安装包 mysql-xxx.tar.gz上传至linux系统。推荐两个位置:/usr/local/src、/opt(这里以/usr/local/src为例);
- 以下使用的是rpm包安装;
Mysql卸载:
查看当前安装mysql情况:
[root@localhost ~]# rpm -qa|grep -i mysql 参数说明: rpm:RedHat Package Manager(RedHat软件包管理工具)类似Windows里面的“添加/删除程序”-qa|grep -i mysql:[搜索指定rpm包是否安装] -all搜索*mysql* -q就是 --query ,-a就是--all, |grep mysql就是查含有mysql的包名(grep正则表达式) -i, --install install package(s) -- 可以省略 |
删除之前安装的rpm -e --noscripts 包名,如果出现有报错有依赖,可以加上--nodeps,即:
[root@localhost ~]# rpm -e --noscripts 包名 --nodeps 参数说明: -e:删除包 --noscripts: 忽略RPM包的脚本执行 |
查找之前老版本mysql的目录、并且删除老版本mysql的文件和库:
[root@localhost ~]# find / -name mysql |
删除对应的mysql目录:
[root@localhost ~]# rm -rf 上面的目录 |
再次查找机器是否安装mysql,如果没有就说明卸载干净了:
[root@localhost ~]# find / -name mysql [root@localhost ~]# |
Mysql安装
注意:这种安装需要下载,所有需要联网,如果网速不好会导致安装失败,所以安装之前建议先快照,mysql安装失败之后可以恢复到指定的快照版本,重新来一次;
第一步:切换到/usr/local
[root@localhost ~]# cd /usr/local |
第二步:下载mysql的rpm源码包
[root@localhost local]# wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm |
注意:在什么地方下载就要在那个目录中执行安装,否则提示找不到rpm包,安装完后将rpm包删除
第三步:安装mysql-community-release-el7-5.noarch.rpm包
[root@localhost local]# rpm -ivh mysql-community-release-el7-5.noarch.rpm 参数说明: -ivh:安装显示安装进度--install--verbose--hash |
第四步:安装mysql
[root@localhost local]# yum install mysql-server |
注意:如果出现进程被占用,可以使用kill -9 进程ID
第五步:启动mysql服务
[root@localhost local]# systemctl start mysqld |
附:
查看Mysql状态:systemctl status mysqld 或者 service mysqld status
开启mysql服务:systemctl start mysqld 或者 service mysqld start
关闭mysql服务:systemctl stop mysqld 或者 service mysqld stop
重启mysql服务:systemctl restart mysqld 或者 service mysqld restart
第六步:Mysql安装成功后,默认的root用户密码为空,你可以使用以下命令来设置root用户的密码:
[root@localhost local]# mysqladmin -u root password "你自己想设置的数据库密码" |
第七步:连接到Mysql服务器(多种方式 -- 密码可以点击回车之后再输入也行)
[root@localhost local]# mysql -uroot -p你刚刚设置的密码 [root@localhost local]# mysql -h127.0.0.1 -uroot -p你刚刚设置的密码 [root@localhost local]# mysql -hlocalhost -uroot -p你刚刚设置的密码 [root@localhost local]# mysql -h本机ip地址 -uroot -p你刚刚设置的密码 |
注意:如果提示没有wget命令,可以使用以下命令下载wget命令: yum -y install wget
Mysql编码集设置
- 安装完的MySQL的默认字符集为 latin1 ,那么如果此时创建表和数据库,或者导入外部带中文的数据,mysql是不支持的。为了要将其字符集改为用户所需要的(比如utf8),就必须改其相关的配置文件;
- 查看默认字符集:
mysql> show variables like 'character_set%'; |
3.修改字符集,修改 /etc/my.cnf文件(输入exit或Ctrl + C退出mysql命令窗口):
[root@localhost local]# vi /etc/my.cnf(没有就自己创建一个,vi会自动创建) |
注意:如果my.cnf存在,那么就在[mysqld]处将下面的配置拷贝进去,并删除原来的[mysqld],因为配置中存在一个,不能有两个;
[client] default-character-set=utf8 [mysql] default-character-set=utf8 [mysqld] character-set-server=utf8 |
4.退出编辑模式,保存并退出,重启mysql(按Ctrl + C 退出编辑,退出编辑输入:wq!退出编辑器)
[root@localhost local]# systemctl restart mysqld |
注意:如果重启卡住,很有可能是你my.cnf中出问题了,重新编辑,或者从其他人那里拷贝一个;
- 再次连接mysql,查看字符集编码
[root@localhost local]# mysql -uroot -p你刚刚设置的密码 mysql> show variables like 'character_set%'; |
增加Mysql远程登录权限
1.上一步即可本地登录,但远程登录会报错:
2.为了解决这个问题,允许远程访问,需要本地登陆MySQL后执行如下命令:
第一步:进入mysql,授权远程连接
mysql> grant all privileges on *.* to root@'%' identified by 'ROOT'; 这句话的意思是:任意用户使用root用户使用123456密码访问,可以设置成mysql的密码 |
第二步:刷新授权
mysql> flush privileges; |
如果连接还是报错则需要关闭CentOS防火墙:
- 远程访问linux时,需要关闭防火墙,否则访问linux上的tomcat,mysql等服务可能会失败;
查看防火墙状态: systemctl status firewalld.service(绿的running表示防火墙开启)
执行关闭命令(立即关闭 - 立即生效): systemctl stop firewalld.service
再次执行查看防火墙命令:systemctl status firewalld.service
执行开机禁用防火墙自启命令(永久关闭 - 重启生效): systemctl disable firewalld.service
开启防火墙:systemctl start firewalld.service
云服务器需要设置端口:3306