[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
- mysql5.7的密码策略太烦人了,可以配置文件中关掉,mysqld配置段
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
[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:
#关闭数据库
[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';
#关闭数据库并正常启动