CentOS自定义安装MySQL

11 篇文章 0 订阅
7 篇文章 0 订阅

1、解压安装包

cd /home/hadoop/software
tar -xvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz ../setup/

2、创建软链接

ln -s mysql-5.7.24-linux-glibc2.12-x86_64 mysql5.7

3、创建文件夹,删除以前的配置

mkdir -p /home/hadoop/data/mysql/3306
mkdir -p /home/hadoop/tmp/mysql/3306
mkdir -p /home/hadoop/logs/mysql/3306
rm -rf /home/hadoop/data/mysql/3306/*
rm -rf /home/hadoop/data/mysql/*.sock
rm -rf /home/hadoop/data/mysql/*.lock
rm -rf /home/hadoop/logs/mysql/3306/*.log

4、生成配置文件

  • vim /home/hadoop/shell/mysql/my-3306.cnf
[client]
#设置mysql客户端连接端口
port=3306
# 为MySQL客户端程序和服务器之间的本地通讯指定一个套接字文件
socket=/home/hadoop/data/mysql/mysql-3306.sock
#设置客户端编码
default-character-set=utf8
[mysqld]
# 为MySQL客户端程序和服务器之间的本地通讯指定一个套接字文件
socket=/home/hadoop/data/mysql/mysql-3306.sock
# 设置mysql服务端口
port = 3306 #默认是3306,这里发现3306已经被占用,因此防止这种情况发生,可以避免使用3306mysql默认端口
# set设置mysql安装目录
basedir=/home/hadoop/software/mysql5.7
# 设置数据目录
datadir=/home/hadoop/data/mysql/3306
# 设置临时目录
tmpdir=/home/hadoop/tmp/mysql/3306
# 设置pid文件存放目录
pid-file=/home/hadoop/data/mysql/mysql-3306.pid
# set the number of allow max connnection
max_connections=200
# 设置服务端编码
character-set-server=utf8
# 存储引擎
default-storage-engine=INNODB
#ONLY_FULL_GROUP_BY	ERROR_FOR_DIVISION_BY_ZERO
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
lower_case_table_names=1
max_allowed_packet=16M
explicit_defaults_for_timestamp=true
user=hadoop
wait_timeout=31536000
interactive_timeout=31536000
log-error=/home/hadoop/logs/mysql/3306/error.log
[mysqld_safe]
# 为MySQL客户端程序和服务器之间的本地通讯指定一个套接字文件
socket=/home/hadoop/data/mysql/mysql-3306.sock
# 设置mysql服务端口
port = 3306 #默认是3306,这里发现3306已经被占用,因此防止这种情况发生,可以避免使用3306mysql默认端口
# set设置mysql安装目录
basedir=/home/hadoop/software/mysql5.7
# 设置数据目录
datadir=/home/hadoop/data/mysql/3306
# 设置临时目录
tmpdir=/home/hadoop/tmp/mysql/3306
# 设置pid文件存放目录
pid-file=/home/hadoop/data/mysql/mysql-3306.pid
log-error=/home/hadoop/logs/mysql/3306/error.log

5、初始化 注意:--defaults-extra-file 这个参数必须放在第一位

/home/hadoop/software/mysql5.7/bin/mysqld_safe --defaults-extra-file=/home/hadoop/shell/mysql/my-3306.cnf --initialize --basedir=/home/hadoop/software/mysql5.7 --user=hadoop
# 成功后查看日志会有一个密码:A temporary password is generated for root@localhost: pJnVg%Ytg9EC

6、修改Root用户密码

  • 方式一(推荐使用第一种)
# 正常启动
/home/hadoop/software/mysql5.7/bin/mysqld_safe --defaults-extra-file=/home/hadoop/shell/mysql/my-3306.cnf --user=hadoop &
# 使用密码登录root用户<密码为:pJnVg%Ytg9EC>
/home/hadoop/software/mysql5.7/bin/mysql  --defaults-extra-file=/home/hadoop/shell/mysql/my-3306.cnf -uroot -p
# Sql脚本
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
FLUSH PRIVILEGES;
# 使用密码登录root用户<密码为:root>
/home/hadoop/software/mysql5.7/bin/mysql  --defaults-extra-file=/home/hadoop/shell/mysql/my-3306.cnf -uroot -proot
  • 方式二
    <待下次验证>
# 设置免密登陆启动
/home/hadoop/software/mysql5.7/bin/mysqld_safe --defaults-extra-file=/home/hadoop/shell/mysql/my-3306.cnf --user=hadoop --skip-grant-tables --skip-networking &
# 免密登陆root,然后修改root数据库用户密码<密码为:空,直接enter>
/home/hadoop/software/mysql5.7/bin/mysql  --defaults-extra-file=/home/hadoop/shell/mysql/my-3306.cnf -uroot -p
# 更新密码
update mysql.user set authentication_string=password('root1') where user='root';
# 去掉免密登陆限制重启
/home/hadoop/software/mysql5.7/bin/mysqld_safe --defaults-extra-file=/home/hadoop/shell/mysql/my-3306.cnf --user=hadoop &
# 最后再用alter修改密码 <update和alter顺序不能错,否则会报错>	
/home/hadoop/software/mysql5.7/bin/mysql  --defaults-extra-file=/home/hadoop/shell/mysql/my-3306.cnf -uroot -p
alter user 'root'@'localhost' identified by 'root';

7、启停脚本

  • vim startMysql.sh 【编辑脚本】
/home/hadoop/software/mysql5.7/bin/mysqld_safe --defaults-extra-file=/home/hadoop/shell/mysql/my-3306.cnf  --user=hadoop --datadir=/home/hadoop/data/mysql/3306 &
  • chmod +x startMysql.sh 【可执行权限】
  • ./startMysql.sh 【启动】

8、创建mysql数据库用户,密码为mysql

/home/hadoop/software/mysql5.7/bin/mysql --defaults-extra-file=/home/hadoop/shell/mysql/my-3306.cnf -uroot -p
select user,authentication_string,plugin,host from mysql.user;
create user mysql identified by 'mysql';

9、设置远程访问<CentOS需要查看防火墙是否限制端口访问>

/home/hadoop/software/mysql5.7/bin/mysql -uroot -p --socket=/home/hadoop/data/mysql/mysql-3306.sock
# 不会生成mysql@%的记录(前面第8步的identified by已经生成)
grant all privileges on *.* to mysql@"%" with grant option;
# root用户远程登录,会自动生成一条root@%的记录
grant all privileges on *.* to root@"%" IDENTIFIED BY 'root' with grant option;
flush privileges;

10、使用mysql数据库用户登陆

/home/hadoop/software/mysql5.7/bin/mysql -umysql -p --socket=/home/hadoop/data/mysql/mysql-3306.sock
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

胖毁青春,瘦解百病

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值