首页 > 数据库技术 > 详细

CentOS自定义安装MySQL

时间:2019-12-11 13:20:21      阅读:75      评论:0      收藏: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、设置远程访问

/home/hadoop/software/mysql5.7/bin/mysql -uroot -p --socket=/home/hadoop/data/mysql/mysql-3306.sock
grant all privileges on *.* to mysql@"%" with grant option;
flush privileges;

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

/home/hadoop/software/mysql5.7/bin/mysql -umysql -p --socket=/home/hadoop/data/mysql/mysql-3306.sock

CentOS自定义安装MySQL

原文:https://www.cnblogs.com/HappyEveryDay9013/p/12021859.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!