近期对linux服务器环境配置操作较多,今天涉及Linux下mysql环境配置,记录一下操作过程,方便以后参考:
1、下载并上传mysql文件,这里下载的是 mysql-8.0.28-linux-glibc2.17-x86_64-minimal.tar.xz,也可以选择其他版本
2、解压缩文件:tar -xvJf mysql-8.0.28-linux-glibc2.17-x86_64-minimal.tar.xz
3、重定义解压缩后的文件名:mv mysql-8.0.28-linux-glibc2.17-x86_64-minimal.tar.xz mysql
以上执行完毕后,开始进行环境配置操作
4、创建data文件夹以存放数据信息
5、创建以及授权用户信息:
groupadd mysql 创建组
useradd -g mysql mysql 创建用户
chown -R mysql.mysql /usr/local/mysql 授权用户
6、初始化信息
切换目录:cd /usr/local/mysql/bin
执行命令: ./mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize
以上执行完毕后,进入data文件夹下,可以看到有些文件生成:
上述文件生成后,数据库文件的初始化就成功了,下面是修改配置
7、修改配置文件,vim /etc/my.cnf
注意里面的地址修改为自己配置的路径,log-error和pid-file指向的文件路径要存在
8、添加服务以及授权
将mysql下的support-files文件夹下的mysql.server拷贝到init.d路径下:cp -a ./support-files/mysql.server /etc/init.d/mysql
执行授权命令:
chmod +x /etc/init.d/mysql
chkconfig --add mysql
添加完毕后启动服务:service mysql start
执行结果:Starting MySQL.The server quit without updating PID file (/[FAILED]l/mysql/data/xxx !!!!
上面可能出现的原因有很多,可参考https://blog.csdn.net/alwaysbefine/article/details/107216380,我的情况是自己在/etc/my.cnf文件中配置的log-error,pid-file的文件夹没有将权限指定给mysql用户,进到/usr/local/mysql,将该目录下的log文件夹权限赋值给mysql用户:chown -R mysql:mysql log,修改好权限后再次执行service mysql start,提示成功
连接mysql: mysql -hlocalhost -uroot,提示"-bash: mysql: command not found",参考https://blog.csdn.net/weixin_46457946/article/details/114524160
修改完毕后执行mysql命令仍然抛出错误:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock',参考 https://www.cnblogs.com/yang1314/p/14505290.html
修改完之后,登录需要输入密码,由于第一次创建,并不知道密码是多少,取消密码验证参考:https://blog.csdn.net/weixin_44752664/article/details/123904785
经过以上折腾,最终成功登录....