二进制安装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' ; #关闭数据库并正常启动 |
初学linux,每学到一点东西就写一点,如有不对的地方,恳请包涵!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 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 加持,客户体验更智能