起因
最近申请了了一个月的阿里云服务器,想自己搭建一套SpringCloud和Nacos的服务。但是发现搭建nacos也需要mysql数据库录入nacos的表,故记录下如何在linux上搭建mysql服务。
开始整活!
在这里下载mysql 的压缩包
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
1.解压压缩包
tar -xvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
2.移动到指定的文件夹
mv mysql-5.7.26-linux-glibc2.12-x86_64 /usr/local/
3.修改mysql的文件夹名称
mv mysql-5.7.26-linux-glibc2.12-x86_64/ mysql-5.7.26
4.查看用户组
groupadd mysql
groupadd: group ‘mysql’ already exists
问题来了,在执行此条命令时,直接无法执行以及报错
error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
再网上查询了很多的资料,找到一条靠谱的(已解决问题)原网页
(执行此条命令,分开执行啊)
rpm -qa|grep libaio
yum install libaio-devel.x86_64
执行完毕后 ,再重新执行刚才报错的4.
5.接下来创建一个组
useradd -r -g mysql mysql
6.接下来就是创建mysql的各种目录
cd /
mkdir -p data
cd data/
mkdir -p mysql
7.赋予文件夹权限 (我直接给了777)
chown mysql:mysql -R /data/mysql
然后要修改下配置文件
vim /etc/my.cnf
其实vim命令很简单
1).将上方的命令打进去后,会出现编辑文件的界面
2).接下来按i 进入编辑界面
3).接下来就是将以下命令复制粘贴进去
[mysqld]
bind-address=0.0.0.0(此行为访问ip白名单,可以后续配置,可以删除)
port=3306
user=mysql
basedir=/usr/local/mysql-5.7.26
datadir=/data/mysql
socket=/tmp/mysql.sock
log-error=/data/mysql/mysql.err(此行是记录错误日志,可以删除)
pid-file=/data/mysql/mysql.pid
#character config
character_set_server=utf8mb4
symbolic-links=0
4).按下esc,退出编辑模式
5).输入:wq 退出保存
8.找到你mysql的安装文件夹
find / -name mysql.server
在这里就会弹出,你的mysql文件夹的地址
9.在你的路径后,拼接启动指令mysql.server restart
/usr/local/mysql-5.7.26/support-files/mysql.server restart
10.mysql就启动成功了,查看mysql进程
ps -aux | grep mysql
11.接下来就要去设置mysql 的的登录密码了
首先记得咱们之前那个配置文件吗(my.cnf)上面有文件位置
[mysqld]在下面加入skip-grant-tables 这串配置(意思为跳过密码登录)
改完保存下,然后重启mysql
/usr/local/mysql-5.7.26/support-files/mysql.server restart
12.重启OK后,输入指令进入mysql
/usr/local/mysql-5.7.26/bin/mysql -u root -p
13.有两个指令需要自己输入
1)一个为修改默认密码
2)第二个为允许其他ip访问(记住mysql的指令后面一定要加; 这个符号,不然不会生效)
在这里我踩了一个坑
mysql版本比较新,这是因为新版本mysql采用authentication_string替代了password字段。
我在执行sql的时候一直报错,说找不到password的字段!!!!
大家这个地方要注意
修改mysql的登录密码
mysql>update mysql.user set authentication_string=password(‘123456’) where user=‘root’ ;
允许其他ip远程连接
mysql>GRANT ALL PRIVILEGES ON . TO ‘root’@‘%’ IDENTIFIED BY ‘666666’;
这里的@后面可以指定可以连接的主机ip地址,如果是%标识所有主机可以连接
最后的by 后面是连接的密码,这里是666666
刷新一下
flush privileges;
如果是阿里云ECS的话,需要开启安全组端口才可以远程访问
mysql的端口 开启3306哈
15.接下来用Navicat连接即可
这里显示连接成功,接下来就可以自由的建表了拉拉阿拉啦。。。。。