- 创建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‘; #关闭数据库并正常启动