二进制安装mysql5.7

  • 创建mysql用户,并设置为不可登陆
1
[root@db01 ~]# useradd -s /sbin/nologin mysql
  • 创建软件目录和数据存储目录,并挂载一块磁盘到数据库存储目录
1
2
3
4
5
6
7
8
9
10
11
12
13
14
[root@db01 ~]# mkdir /application
[root@db01 ~]# mkdir /data
#格式化新加的磁盘
[root@db01 ~]# mkfs.xfs /dev/sdc
#查看磁盘UUID
[root@db01 ~]# blkid
#开机挂载磁盘
[root@db01 ~]# vim /etc/fstab
UUID="b7fde522-aa37-412a-9584-8313a673c5cc" /data xfs defaults 0 0
#加载/etc/fstab
[root@db01 ~]# mount -a
[root@db01 ~]# df -h
[root@db01 ~]# chown -R mysql.mysql /application/*
[root@db01 ~]# chown -R mysql.mysql /data
  • 解压软件到软件目录,并创建软连接
1
2
[root@db01 ~]# tar xf mysql-5.7.26-.tar.gz -C /application
[root@db01 ~]# ln -sv /application/mysql-5.7.26 /application/mysql
  • 设置环境变量
1
2
3
[root@db01 ~]# vim /etc/profile
export PATH=/application/mysql/bin:$PATH
[root@db01 ~]# source /etc/profile
  • 初始化数据库
1
2
3
4
5
6
7
8
9
#5.6版本:
/application/mysql/scripts/mysql_install_db
#5.7版本:需要先创建数据目录/data/mysql/data
mysqld --initialize-insecure --user=mysql --basedir=/application/mysql --datadir=/data/mysql/data
 
#报错:
mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
解决:
[root@db01 ~]# yum install -y libaio-devel
  • 创建配置文件
1
2
3
4
5
6
7
8
9
10
11
12
cat >/etc/my.cnf <<EOF
[mysqld]
user=mysql
basedir=/application/mysql
datadir=/data/mysql/data
log_error=/data/mysql/mysql-error.log
socket=/tmp/mysql.sock
server_id=6
port=3306
[mysql]
socket=/tmp/mysql.sock
EOF
  • mysql5.7的密码策略太烦人了,可以配置文件中关掉,mysqld配置段
1
validate_password=off
  • 创建systemd接管文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
cat >/etc/systemd/system/mysqld.service <<EOF
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/application/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000
EOF
  • 启动mysql
1
[root@db01 ~]# systemctl start mysql
  • 初始化root密码,mysql默认密码在日志文件中,grep 'temporary password' /data/mysql/mysql-error.log 
1
2
3
#mysqladmin -u用户名 -p旧密码 password 新密码
[root@db01 ~]# mysqladmin -uroot -p password 123456
Enter password:
  • 忘记mysql管理员密码
1
2
3
4
5
6
7
8
9
10
11
12
#关闭数据库
[root@db01 ~]# systemctl stop mysqld
 
#启动安全模式
[root@db01 ~]# mysqld_safe --skip-grant-tables --skip-networking &
 
#登录并修改密码
[root@db01 ~]# mysql
mysql> flush privileges;
mysql> alter user root@'localhost' identified by '1';
 
#关闭数据库并正常启动

  

 

posted @   ForLivetoLearn  阅读(153)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
点击右上角即可分享
微信分享提示