centos7上安装mysql5.7并自定义数据目录路径

1、卸载mariadb

bash 复制代码
rpm -qa |grep mariadb                              #查出来的结果是mariadb-libs-5.5.68-1.el7.x86_64
rpm -e mariadb-libs-5.5.68-1.el7.x86_64 --nodeps   #卸载查到的结果

2、官网下载响应的tar.gz包,比如mysql-5.7.38-el7-x86_64.tar.gz ,(百度搜mysql,去oracle官网下载社区版)

3、创建用户

bash 复制代码
groupadd mysql && useradd -r -g mysql -s /bin/false mysql

4、解压mysql压缩包并放置mysql目录软链

bash 复制代码
tar -zxf mysql-5.7.38-el7-x86_64.tar.gz -C /usr/local/
ln -s /usr/local/mysql-5.7.38-el7-x86_64 /usr/local/mysql

5、创建mysql数据目录

bash 复制代码
mkdir -p /data/MysqlData

6、安装初始化mysql,并指定数据目录为/data/MysqlData

bash 复制代码
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/MysqlData

注意:此时应该会产生临时密码在控制台,注意观察大概是最后一行。

7、拷贝mysql后台自动运行脚本

bash 复制代码
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
chkconfig --add mysql

8、修改msyql后期自动运行脚本

bash 复制代码
#大约第46和47行处写上basedir路径和datadir路径
vi /etc/init.d/mysql
basedir=/usr/local/mysql                         #mysql程序目录
datadir=/data/MysqlData                          #设置mysql数据目录
mysqld_pid_file_path=/data/MysqlData/mysql.pid   #设置pid文件路径

9、更改mysql所用的各目录权限

bash 复制代码
chown -R mysql.mysql /data/MysqlData
chown -R mysql.mysql /usr/local/mysql
chown -R mysql.mysql /usr/local/mysql-5.7.38-el7-x86_64
chown mysql.mysql /etc/init.d/mysql

10、增加mysql环境变量

bash 复制代码
vim /root/.bash_profile
export MYSQL_HOME=/usr/local/mysql
export PATH=$MYSQL_HOME/bin:$PATH

11、修改mysql密码,并开启root远程登录

bash 复制代码
mysql -uroot -p                       #输入初始化时的临时密码
  mysql> ALTER USER USER() IDENTIFIED BY 'mypwd123';
  mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mypwd123' WITH GRANT OPTION;    #开启root远程登录mysql
  mysql> flush privileges;
  mysql> exit

12、启动mysql

bash 复制代码
service mysql start
ps -ef |grpe mysql
相关推荐
提笔了无痕33 分钟前
MySQL SQL 从 EXPLAIN 到索引优化,搞懂 SQL 为什么慢
android·sql·mysql
辰同学ovo2 小时前
从一条 SQL 到三个原则:MySQL 心智模型
sql·mysql·adb
Mico185 小时前
MySQL 8.0.35 GTID主从复制常见管理操作
mysql
网安墨雨6 小时前
MySQL数据库 SQL语句详解
自动化测试·软件测试·数据库·python·sql·mysql
muddjsv6 小时前
SQLite与MySQL/PostgreSQL本质区别:运行模型、并发、部署、权限全方位对比
mysql·postgresql·sqlite
Mico189 小时前
MySQL 8.0.35 GTID + 延迟复制 + 过滤复制搭建
mysql·dba
会编程的土豆10 小时前
结构体 struct:用代码描述用户、订单、座位
数据库·mysql·golang
瞬间&永恒~1 天前
【MySQL】4-6:在同一个主机上使用 systemd 运行多个 MySQL服务器
服务器·数据库·mysql
一嘴一个橘子1 天前
MysqL 哪些情况适合创建索引
mysql
时间的拾荒人1 天前
MySQL C语言连接 - 从入门到实战
android·c语言·mysql