当前位置: 首页 > news >正文

Linux下手动安装MySQL5.7

1、下载tar包,这里使用wget从官网下载

https://dev.mysql.com/downloads/mysql/

2、将mysql安装到/usr/local/mysql下

解压

tar -xvf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
mv /usr/local/mysql-5.7.22-linux-glibc2.12-x86_64 /usr/local/mysql

3、新建data目录

mkdir /usr/local/mysql/data

4、新建mysql用户、mysql用户组

mysql用户组

groupadd mysql

mysql用户

useradd mysql -g mysql

5、将/usr/local/mysql的所有者及所属组改为mysql

chown -R mysql.mysql /usr/local/mysql

6、配置

/usr/local/mysql/bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data

如果出现以下错误:
2018-07-14 06:40:32 [WARNING] mysql_install_db is deprecated. Please consider switching to mysqld --initialize
2018-07-14 06:40:32 [ERROR] Child process: /usr/local/mysql/bin/mysqldterminated prematurely with errno= 32
2018-07-14 06:40:32 [ERROR] Failed to execute /usr/local/mysql/bin/mysqld --bootstrap --datadir=/usr/local/mysql/data --lc-messages-dir=/usr/local/mysql/share --lc-messages=en_US --basedir=/usr/local/mysql

则使用以下命令(记得把上面命令生成的data文件内容删掉):
/usr/local/mysql/bin/mysqld --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data --initialize

如果出现以下错误:
/usr/local/mysql/bin/mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory

则执行以下命令:
yum -y install numactl

完成后重复上个步骤,继续安装(同样把上面data文件内容删掉):

/usr/local/mysql/bin/mysqld --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data --initialize
编辑/etc/my.cnf

[mysqld]
datadir=/usr/local/mysql/data
basedir=/usr/local/mysql
socket=/tmp/mysql.sock
user=mysql
port=3306
character-set-server=utf8
# 取消密码验证
skip-grant-tables
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# skip-grant-tables
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

7、开启服务

将mysql加入服务

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

开机自启

chkconfig mysql on

开启

service mysql start

(有时候回报如下错误:
1.service mysql start;
报错:mysql is neither service nor target!?
2.systemctl start mysql:
报错:sysemctl start mysql : Failed to star mysql.service: Unit mysql.service failed to load: No such file ....)

解决方案:依次执行下面命令
systemctl unmask mysql.service
service mysql start

8、设置密码

登录(由于/etc/my.cnf中设置了取消密码验证,所以此处密码任意)

/usr/local/mysql/bin/mysql -u root -p

操作mysql数据库

use mysql;

修改密码

update user set authentication_string=password('你的密码') where user='root';
flush privileges;
exit;

9、将/etc/my.cnf中的skip-grant-tables删除

10、登录再次设置密码(不知道为啥如果不再次设置密码就操作不了数据库了)

/usr/local/mysql/bin/mysql -u root -p

ALTER USER 'root'@'localhost' IDENTIFIED BY '修改后的密码';
exit;

11、允许远程连接

/usr/local/mysql/bin/mysql -u root -p

use mysql;
update user set host='%' where user = 'root';
flush privileges;
eixt;

如果不行,直接关掉linux的防火墙。

systemctl disable firewalld

这样还不行的话,检查服务器入栈入栈规则。

12、添加快捷方式

ln -s /usr/local/mysql/bin/mysql /usr/bin

http://www.jsqmd.com/news/923109/

相关文章:

  • XGBoost + SHAP 一键生成 10 张出版级模型解释图
  • “写不出开头”终结者:Gemini创意写作启动引擎(含12种认知触发模式+情绪温度调节参数),开发者内测版今日紧急放通
  • 如何用Untrunc快速修复损坏的MP4视频文件:终极完整指南
  • ComfyUI ControlNet Aux预处理器故障排查与解决方案:从问题识别到系统优化
  • AI赋能学术写作:百考通AI高效搞定毕业论文全流程
  • 终极解决方案:用.NET Windows Desktop Runtime彻底告别Windows应用部署难题
  • 基于Arduino与PID算法的球杆平衡控制系统设计与实现
  • 贵州德浩恒发商贸:遵义可靠的托盘厂哪家好 - LYL仔仔
  • 低查重AI写教材大揭秘!高效工具推荐,快速生成优质教材!
  • Visuino图形化编程实现OLED按钮交互:嵌入式系统入门实践
  • Arduino Uno复刻Chrome恐龙游戏:嵌入式图形交互开发实战
  • 彻底解放你的Mac光标:Mousecape自定义鼠标指针完全指南
  • Arduino_GFX库:驱动与总线解耦设计,轻松适配多种显示屏
  • 无锡木木金银回收:滨湖专业的首饰回收选哪家 - LYL仔仔
  • Linux下安装Tomcat
  • Foresight研究报告【20260013】
  • 上海湘杰仪器仪表:淮安海绵压陷试验机怎么联系 - LYL仔仔
  • WebLaTeX:3分钟掌握云端LaTeX写作的终极免费解决方案
  • 终极指南:GTA圣安地列斯存档编辑器完全使用教程
  • 绍兴富呈机械设备租赁:绍兴铲车出租公司电话 - LYL仔仔
  • Arduino入门实战:从零搭建LED闪烁电路,详解硬件原理与代码编程
  • 3个高效技巧:GPX Studio在线编辑器完全指南
  • 郑州市 二七区 家具维修|维小达 专业床维修、桌椅维修、茶几维修、沙发翻新、各类家居修复一站式服务 - 维小达科技
  • 告别网盘限速困扰:九大平台直链下载助手LinkSwift使用指南
  • 如何用ChineseSubFinder实现影视库全自动中文字幕管理?
  • 南京爱屋建筑防水:江宁地下室防水选哪家 - LYL仔仔
  • Jina Reader:高效智能的网页内容提取与搜索一体化解决方案
  • Linux下手动安装JDK
  • 终极解决方案:让Video Station在DSM 7.2.2/7.3.x系统满血复活
  • 5分钟解锁游戏性能:DLSS Swapper如何智能管理你的DLSS版本