有几天没有写文章了,今天捣鼓买了个阿里云服务器,想自己搭建个网站玩下,所以第一步想到了先把mysq给安装好,前期安装没有很大的问题,有问题的也及时去解决了。下面是笔者安装的步骤。
安装步骤
我是用的下载tar.gz解压来安装的。
1、获取压缩包,可能下载有点慢,稍微等一下,毕竟也有个好几百兆。
wget http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-5.7/mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz
2、安装libaio库,要不然安装mysql时报错误:error while loading shared libraries: libaio.so.1。
yum install libaio
3、创建mysql用户,启动mysql服务的时候,我们会用到它。
groupadd mysqluseradd -r -g mysql -s /bin/false mysql
4、当然是压缩包的解压了
tar -zxvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gzmv mysql-5.7.26-linux-glibc2.12-x86_64 /usr/local/mysql
5、初始化
进入mysql的bin目录下
./mysqld --initialize --user=mysql
这一步有点重要,mysql启动的时候都会有默认密码的,咱们记住就好,如下
A temporary password is generated for root@localhost: am6/j*,/sxuM
6、启动mysql
为了方便,建议配置mysql的环境变量,以服务的形式去启动mysql,如下
cp support-files/mysql.server /etc/init.d/mysqldservice mysqld start //这样就可以启动了//环境变量配置,在/etc/profile中添加PATH=$PATH:/usr/local/mysql/bin//接着执行,使其修改生效source /etc/profile
启动的时候报了:
mysqld_safe error: log-error set to '/var/log/mariadb/mariadb.log', however file don't exists.
这个好解决,无非就是文件找不到,我们创建文件并授权搞定,这一步挺简单的。
启动成功!以为大功告成!当然接下来要连接测试下 mysql -uroot -p
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
这个mysql.sock是什么?有什么作用?
mysql 支持 socket 和 TCP/IP 连接。连接localhost通常通过一个Unix域套接字文件进行,一般是/tmp/mysql.sock。如果套接字文件被删除了,本地客户就不能连接。它包含任何数据,但仅用于从客户端到本地服务器来进行交换数据。
执行:find / -name mysql.sock 找到:
/var/lib/mysql/mysql.sock
根据网上大神说的做,建立相应的软连接可以解决,
ln -s /usr/local/mysql/mysql.sock /tmp/mysql.sock
软连接是什么?有点懵是吗,软链接文件只是维持了从软链接到源文件的指向关系,你就理解当做是windows的快捷方式即可。这一步也解决了。
然后快乐的开启 navicat连接,毕竟玩了辣么久啊
无法连接!10038错误!这个我当时就想到了远程服务器的防火墙没开启,于是一顿猛操作
firewall-cmd --zone=public --add-port=3306/tcp --permanentfirewall-cmd --reloadfirewall-cmd --zone=public --query-port=3306/tcp//输出yes
还是如此,继续在mysql中设置远程访问权限,
grant all privileges on *.* to 'root'@'%' identified by 'xxxxx' with grant option;flush privileges;//设置完权限后需要重启service mysql restart
问题还是一样的,没法解决,痛苦。之前也安装过,没出现这类问题。
到这里,就停住了,目前还在找问题中,有大神帮忙给提供下想法吗,感谢!!!!!