部署环境
环境:MySQL 5.7.36 + CentOS 7.6
安装包:mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz
以下步骤使用root用户操作:
1、创建mysql用户
groupadd mysql
useradd mysql -g mysql
2、解压安装包
tar -xvf mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz -C /opt
cd /opt
mv mysql-5.7.36-linux-glibc2.12-x86_64 mysql
至此,已将mysql解压缩至/opt/mysql下,我们准备将该目录作为安装目录
3、修改安装目录属组为mysql:mysql
chown -R mysql:mysql /opt/mysql
以下步骤使用mysql用户操作:
4、配置相关信息
为方便进行管理,将所有配置信息及数据目录都存放在/opt/mysql下
配置文件 /opt/mysql/etc/my.cnf
数据目录 /opt/mysql/data
vi /opt/mysql/etc/my.cnf 编辑配置文件,内容如下:
[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/opt/mysql
datadir=/opt/mysql/data
socket=/opt/mysql/tmp/mysql.sock
log-error=/opt/mysql/log/mysql.err
pid-file=/opt/mysql/mysql.pid
#character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true
/opt/mysql下相关目录也提前创建好
mkdir /opt/mysql/data
mkdir /opt/mysql/tmp
mkdir /opt/mysql/log
5、初始化数据库
/opt/mysql/bin/mysqld --defaults-file=/opt/mysql/etc/my.cnf --basedir=/opt/mysql --datadir=/opt/mysql/data --user=mysql --initialize
查看/opt/mysql/log/mysql.err文件,最后一行提示初始密码
6、修改mysql.server脚本内容
/opt/mysql/support-file下的mysql.server为数据库启停脚本,复制该脚本到某目录下(假设为/home/mysql下),修改脚本内容中以下几个变量的值。
config=$2
basedir=$(awk -F'=' '/basedir/{gsub(/^\s+|\s+$/,"",$2);print $2}' $config)
datadir=$(awk -F'=' '/datadir/{gsub(/^\s+|\s+$/,"",$2);print $2}' $config)
conf=/opt/mysql/etc/my.cnf (可以通过vi检索conf=来查到)
7、启动数据库
启动数据库时可以通过 ./mysql.server start /opt/mysql/my.cnf来启动对应的实例
提示成功则数据库启动成功。
8、登录数据库并修改密码
/opt/mysql/bin/mysql -uroot -p 初始密码(查看方法在步骤5)
登录成功后依次执行以下两sql
set password=password('111111');
flush privileges;
数据库root用户密码便修改为111111
9、更改root用户登录ip限制
use mysql;
select user, host from user;
+---------------+-----------+
| user | host |
+---------------+-----------+
| root | localhost |
| mysql.session | localhost |
| mysql.sys | localhost |
+---------------+-----------+
执行语句update user set host='%' where user='root';
授权 grant all privileges on . to root@'%' identified by '111111' with grant option;