mysql源码安装详解

[root@localhost local]# chown -R mysql:mysql mysql

[root@localhost local]# ll mysql

lrwxrwxrwx 1 mysql mysql 36 Apr 18 21:22 mysql -> mysql-5.7.20-linux-glibc2.12-x86_64/

[root@localhost local]#

  • 设置环境变量

[root@localhost bin]# echo ‘export PATH=/usr/local/mysql/bin:$PATH’ > /etc/profile.d/mysql.sh

[root@localhost bin]# source /etc/profile.d/mysql.sh

[root@localhost bin]# echo $PATH

/usr/local/mysql/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

  • 建立数据存放目录,并修改权限

[root@localhost bin]# mkdir -p /data/mysql

[root@localhost bin]# chown -R mysql.mysql /data/mysql/

[root@localhost bin]#

  • 初始化数据库

[root@localhost bin]# /usr/local/mysql/bin/mysqld --initialize --user=mysql --datadir=/data/mysql/

2021-04-18T13:31:12.749412Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).

2021-04-18T13:31:13.310688Z 0 [Warning] InnoDB: New log files created, LSN=45790

2021-04-18T13:31:13.376643Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.

2021-04-18T13:31:13.437436Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 584ca535-a04a-11eb-bee7-000c29e5f134.

2021-04-18T13:31:13.438276Z 0 [Warning] Gtid table is not ready to be used. Table ‘mysql.gtid_executed’ cannot be opened.

2021-04-18T13:31:13.439087Z 1 [Note] A temporary password is generated for root@localhost: !4wowa:8MipQ

[root@localhost bin]#

请注意,这个命令的最后会生成一个临时密码,此处密码是!4wowa:8MipQ。每个人初始化密码不一样,后面初次登陆用

  • 创建mysql配置文件

[root@localhost bin]# cat > /etc/my.cnf <<EOF

[mysqld]

basedir=/usr/local/mysql

datadir=/data/mysql/

socket=/tmp/mysql.sock

port=3306

pid-file=/data/mysql/mysql.pid

user=mysql

skip-name-resolve

EOF

[root@localhost bin]# cat /etc/my.cnf

[mysqld]

basedir=/usr/local/mysql

datadir=/data/mysql/

socket=/tmp/mysql.sock

port=3306

pid-file=/data/mysql/mysql.pid

user=mysql

skip-name-resolve

[root@localhost bin]#

  • 设置服务启动脚本

[root@localhost bin]# cd …/support-files/

[root@localhost support-files]# \cp -af mysql.server /etc/init.d/mysqld

root@localhost support-files]# sed -ri ‘s#^(basedir=).*#\1/usr/local/mysql#g’ /etc/init.d/mysqld

[root@localhost support-files]# sed -ri ‘s#^(datadir=).*#\1/data/mysql/#g’ /etc/init.d/mysqld

  • 启动mysql

[root@localhost support-files]#

[root@localhost support-files]# /etc/init.d/mysqld start

Starting MySQL. SUCCESS!

  • 测试:

[root@localhost ~]# ss -lant|grep 3306

LISTEN 0 80 :::3306 ::😗

[root@localhost ~]# mysql -uroot -p

Enter password:

mysql> quit

Bye

[root@localhost ~]#

总结

============================================================

mysql常用配置文件参数


| 参数 | 说明 |

| :-: | :-- |

| port = 3306 | 设置监听端口 |

| socket = /tmp/mysql.sock | 指定套接字文件位置 |

| basedir = /usr/local/mysql | 指定MySQL的安装路径 |

| datadir = /data/mysql | 指定MySQL的数据存放路径 |

| pid-file = /data/mysql/mysql.pid | 指定进程ID文件存放路径 |

| user = mysql | 指定MySQL以什么用户的身份提供服务 |

| skip-name-resolve | 禁止MySQL对外部连接进行DNS解析 使用这一选项可以消除MySQL进行DNS解析的时间。 若开启该选项,则所有远程主机连接授权都要使用IP地址方 式否则MySQL将无法正常处理连接请求 |

常见mysql 启动报错总结


  • 报错1

[root@localhost support-files]# /etc/init.d/mysqld start

Starting MySQL… ERROR! The server quit without updating PID file (/data/mysql/mysql.pid).

[root@localhost support-files]#

关于网上对这个错误的总结,很多人都说权限问题,其实不管我们怎么给权限,好像都报错,很多时候都是因为配置文件有问题,才导致的,如果出现此错误,建议检查配置文件

  • 报错2

Systemctl restart mariadb.service

Job for mariadb.service failed because the control process exited with error code. See “systemctl status mariadb.service” and “journalctl -xe” for details.

解决方法:查看错误日志:journalctl –xe

查看端口是否被占用:netstat -tnlp|grep 3306

最终的判断,MYSQL进程已经存在,无法启动Mariadb,解决方法,停止原来的MYSQL服务;

  • 报错3

Redirecting to /bin/systemctl restart mariadb.service

Job for mariadb.service failed because the control process exited with error code. See “systemctl status mariadb.service” and “journalctl -xe” for details.

ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2)解决方法:

使用journalctl –xe查看MYSQL错误信息;

关闭服务器selinux安全策略,关闭防火墙setenforce 0;

检查MYSQL|Mariadb通过什么样的方式部署的;

检查其配置文件/etc/my.cnf,datadir数据目录是否配置;检查socket是否配置正确

确认数据库的数据目录mysql用户是否拥有读写权限;

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Java开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
15850720726)]

[外链图片转存中…(img-7mxyeGPb-1715850720726)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Java开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值