================================
©Copyright 蕃薯耀 2021-12-30
一、Mysql 5.7版本安装压缩包
mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz
建议使用root用户操作
二、检查是否安装了mariadb:
rpm -qa | grep mariadb
示例:
[java@host-100 java]$ rpm -qa | grep mariadb
mariadb-libs-5.5.56-2.el7.x86_64
如果存在则删除mariadb,没则跳过。
下面为存在要删除:
yum -y remove mariadb-libs-5.5.56-2.el7.x86_64
三、解压Mysql
(预先上传mysql安装包:mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz,放在/java目录)
cd /java
tar -zxvf mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz
四、解压后,修改文件夹的名称,简单易记
mv mysql-5.7.36-linux-glibc2.12-x86_64 mysql5.7
五、创建Mysql软链接
在/usr/local/目录下创建到/java/mysql5.7的软链接
(为什么创建软链接:因为/etc/rc.d/init.d/mysqld配置的路径是/usr/local/mysql)
cd /usr/local
ln -s /java/mysql5.7 mysql
六、添加mysql用户,修改mysql目录权限
#该用户不能登录
useradd -s /bin/false -M mysql
cd /java
chown -R mysql:mysql mysql5.7
七、创建Mysql配置相关的文件
(根据自己的需要修改相应的文件路径)
#存放mysql数据的文件夹
mkdir -p /usr/local/mysql/data
chown -R mysql:mysql /usr/local/mysql/data
chmod -R 777 /usr/local/mysql/data
touch /usr/local/mysql/mysql-error.log
touch /usr/local/mysql/mysqld.pid
touch /usr/local/mysql/mysql.sock
chown -R mysql:mysql /usr/local/mysql/mysql-error.log
chown -R mysql:mysql /usr/local/mysql/mysqld.pid
chown -R mysql:mysql /usr/local/mysql/mysql.sock
chmod 755 /usr/local/mysql/mysql-error.log
chmod 755 /usr/local/mysql/mysqld.pid
chmod 755 /usr/local/mysql/mysql.sock
八、创建Mysql配置文件(/etc/my.cnf)
vi /etc/my.cnf
/etc/my.cnf 文件内容:
[client]
default-character-set =utf8mb4
socket=/usr/local/mysql/mysql.sock
[mysqld]
# MySQL服务端默认监听的TCP/IP端口
port = 3306
# 设置默认存储引擎为InnoDB
default-storage-engine=InnoDB
# MySQL服务端字符集
character-set-server=utf8mb4
# MySQL服务端字符集
collation_server = utf8mb4_general_ci
# 库名、表名是否区分大小写。默认为0,设置1,不区分大小写,创建的表、数据库都以小写形式存放磁盘。
lower_case_table_names=1
# MySQL软件安装路径
basedir=/usr/local/mysql
# MySQL数据文件存放路径
datadir=/usr/local/mysql/data
# 用于本地连接的Unix套接字文件存放路径
socket=/usr/local/mysql/mysql.sock
[mysql]
default-character-set=utf8mb4
socket=/usr/local/mysql/mysql.sock
[mysqld_safe]
log-error=/usr/local/mysql/mysql-error.log
pid-file=/usr/local/mysql/mysqld.pid
#保存文件
:wq
九、修改/etc/my.cnf 的拥有者
chown -R mysql:mysql /etc/my.cnf
十、安装和初始化Mysql数据库
1、进入Mysql bin目录:
cd /usr/local/mysql/bin/
2、初始化数据库:
./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
此处注意,在初始化完成后,会出现mysql root用户的默认临时密码(temporary password):
临时密码:
2021-12-30T02:56:21.246302Z 1 [Note] A temporary password is generated for root@localhost: 5nb%Qqw9h=BF
5nb%Qqw9h=BF就是临时密码
十一、mysql 设置启动服务和开机自动启动
Mysql设置启动服务,将mysql的启动程序mysql.server拷贝到/etc/init.d/目录下
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
设置Mysql开机启动:
/sbin/chkconfig mysqld on
查看自动启动服务:
chkconfig --list
示例:2、3、4、5要显示 “开”
[root@host-101 etc]# chkconfig --list
注:该输出结果只显示 SysV 服务,并不包含
原生 systemd 服务。SysV 配置数据
可能被原生 systemd 配置覆盖。
要列出 systemd 服务,请执行 'systemctl list-unit-files'。
查看在具体 target 启用的服务请执行
'systemctl list-dependencies [target]'。
mysqld 0:关 1:关 2:开 3:开 4:开 5:开 6:关
十二、安装完,启动mysql服务
service mysqld start
重启mysql:(此步没必要,可省略)
service mysqld restart
十三、Mysql 环境变量配置
编辑/etc/profile,方便在任何地方简短用mysql命令
vi /etc/profile
在文件的最后增加mysql环境变量
MYSQL_HOME=/usr/local/mysql
PATH=$PATH:$MYSQL_HOME/bin
export MYSQL_HOME PATH
让环境变量配置生效
source /etc/profile
十四、开放Mysql端口
开放端口(如:3306)
sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent
移除端口:
sudo firewall-cmd --zone=public --remove-port=3306/tcp --permanent
或者
sudo firewall-cmd --permanent --remove-port=3306/tcp
让端口生效:
sudo firewall-cmd --reload
查看防火墙所有开放的端口
sudo firewall-cmd --zone=public --list-ports
十五、连接mysql
mysql -uroot -p
提示输入密码时,复制刚才生成的临时密码粘贴,然后回车。
十六、修改mysql root用户密码
要选择一个数据库:
use mysql;
修改密码:
set password=password('root');
刷新权限:
flush privileges;
十七、Mysql配置Root用户远程访问
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
flush privileges;
十八、退出mysql
quit;
十九、Mysql修改默认端口
修改[mysqld]下的port(非[client]的port),如修改成2345,则是:
[mysqld]
# MySQL服务端默认监听的TCP/IP端口
port = 2345
开放新端口:
firewall-cmd --zone=public --add-port=2345/tcp --permanent
如果之前有开放此端口,需要移除默认的3306端口:
firewall-cmd --zone=public --remove-port=3306/tcp --permanent
让端口生效:
firewall-cmd --reload
查看防火墙所有开放的端口
firewall-cmd --zone=public --list-ports
重启mysql:
service mysqld restart
二十、重启服务器
reboot -f
二十一、查看Mysql是否开机自动启动
ps -ef | grep mysql
(时间宝贵,分享不易,捐赠回馈,^_^)
================================
©Copyright 蕃薯耀 2021-12-30