1.二进制安装mysql5.7

  • 创建mysql用户,并设置为不可登陆
[root@db01 ~]# useradd -s /sbin/nologin mysql
  • 创建软件目录和数据存储目录,并挂载一块磁盘到数据库存储目录
[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
  • 解压软件到软件目录,并创建软连接
[root@db01 ~]# tar xf mysql-5.7.26-.tar.gz -C /application
[root@db01 ~]# ln -sv /application/mysql-5.7.26 /application/mysql
  • 设置环境变量
[root@db01 ~]# vim /etc/profile
export PATH=/application/mysql/bin:$PATH
[root@db01 ~]# source /etc/profile
  • 初始化数据库
#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
  • 创建配置文件
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
  • 创建systemd接管文件
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
[root@db01 ~]# systemctl start mysql
  • 初始化root密码,mysql默认密码在日志文件中,grep 'temporary password' /data/mysql/mysql-error.log 
#mysqladmin -u用户名 -p旧密码 password 新密码
[root@db01 ~]# mysqladmin -uroot -p password 123456
Enter password: 
  • 忘记mysql管理员密码
#关闭数据库
[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';

#关闭数据库并正常启动

  

猜你喜欢

转载自www.cnblogs.com/forlive/p/12745718.html
今日推荐