其实网上已经有很多这方面的文章了,我思来想去还是将这篇文章贴出来,因为这毕竟是自己劳动成果,一方面有一个对比,另一方面是记录自己的点滴。
如果文章有误,还请及时指正,感激不尽。联系方式 jenson_97@163.com
前言
本文是我在学习Spring Cloud Alibaba Nacos是所写,过程要求在Linux上搭建Nacos集群,为了数据的持久化,所有的配置信息需要从nacos内嵌数据库derby切换到MySQL数据库,对MySQL版本的要求是5.6.5+.
一、安装环境准备
1、CentOS 7 64bit (安装在虚拟机下);
2、 MySQL Community Server 5.7.32 64bit;点我去下载
3、Linux客户端SecureCRT
安装SecureCRT 成功后新建一个会话:
配置完成,点击确定即可远程连接到虚拟机上。
二、上传并解压安装
1、在做完上述准备工作后,将(mysql-5.7.32-linux-glibc2.12-x86_64.tar.gz)通过SFTP上传到Linux上。
上传方式为:
同时按下 Alt + P即可进入到SFTP界面,此时上传的文件位置即是用户的家目录。在SFTP界面键入命令put -r “文件地址”,比如我的命令就是:
put -r "D:/DownLoads/mysql-5.7.32-linux-glibc2.12-x86_64.tar.gz"
2、解压到/usr/local目录下
tar -zxvf ~/mysql-5.7.32-linux-glibc2.12-x86_64.tar.gz -C /usr/local
解压之后的目录西如下图:
三、创建用户组
1、创建用户组
[root@localhost ~]# groupadd mysql
[root@localhost ~]# useradd -r -g mysql -s /bin/false mysql
2、在mysql的bin目录下初始化数据库
[root@localhost bin]# mysqld --initialize --user=mysql
初始化mysql的目的是获得初始密码, 如上图右下角的标注所示,改密码就是初次登陆mysql时需要用到的密码。
这样,mysql就安装成功了,为了方便,我们也可以将mysql的安装目录加入到PATH中(即第四步)。
四、MySQL环境变量配置
1、打开etc下的profile文件
[root@localhost mysql-5.7.32-linux-glibc2.12-x86_64]# vim /etc/profile
向profile中添加如下配置信息
export MYSQL_HOME=/usr/local/mysql-5.7.32-linux-glibc2.12-x86_64
export PATH=$PATH:$MYSQL_HOME/bin
之后重启配置信息
[root@localhost mysql-5.7.32-linux-glibc2.12-x86_64]# source /etc/profile
五、启动并连接mysql服务
1、启动服务
[root@localhost mysql]# ./support-files/mysql.server start
Starting MySQL.. SUCCESS!
启动成功如下:
1、在启动mysql服务过程出现的问题
1).找不到/usr/local/mysql
解决方法只需要将mysql-5.7.32-linux-glibc2.12-x86_64修改位mysql即可:
[root@localhost local]# mv mysql-5.7.32-linux-glibc2.12-x86_64/ mysql
2).出现如下报错;
[mysqld_safe error: log-error set to ‘/var/log/mariadb/mariadb.log’, however file don’t exists. Create writable for user ‘mysql’. ]
这是因为没有路径且没有权限,所以我们将路径创建出来并赋给mysql(你所创建的用户)权限。
[root@localhost bin]# mkdir /var/log/mariadb;touch /var/log/mariadb/mariadb.log
[root@localhost bin]# chown -R mysql /var/log/mariadb
再次启动mysql服务即可
2、连接mysql
[root@localhost bin]# ./mysql -u root -p
Enter password:
这里的密码就是在做初始化时生成的密码。
这样就成功连接到了mysql。
第一次连接之后需要更改密码才能使用:
[root@localhost mysql]# ALTER USER 'root'@'localhost' IDENTIFIED BY '设置自己的新密码'
2、在连接mysql服务过程可能出现的问题
如果在连接过程出现:Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2) 报错,
执行下列命令查看是否存在mysql.sock
[root@localhost bin]# find / -name mysql.sock
如果找到了mysql.sock文件,就简单建立一个软连接到/tmp下就可以了,命令如下:
[root@localhost bin]# ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
如果没有找到mysql.sock文件,可能是因为被误删了,具体解决办法请移步 传动门
测试:
六、远程连接MySQL
远程连接工具Navicat Premium 12
在远程连接过程出现:1130 - Host '‘locahost’ is not allowed to connect to this MySQL server
这是因为安装的MySQL设置了禁止远程连接,这个可以在mysql库下的 user表中看到:
use mysql;
select user,host from user where user='root';
user=‘root’,host=‘localhost’ 表示root用户仅仅能够通过localhost建立连接,拒绝了远程连接,因此,需要我们自己开启远程连接权限,将locahost修改为%,%表示允许所有连接。
update user set host = '%' where user ='root';
修改之后使用flush privileges刷新配置即可。
flush privileges;
再次连接:
到这里,就完成了mysql在CentOS7上的安装过程。
祝大家学习愉快。
如果顺利解决了你的问题,可以点个赞鼓励一下哦 ≧ ω ≦