安装MYSQL
#查询是否预装mysql
rpm -qa | grep mariadb
#有返回数据则使用该命令卸载
rpm -e --nodeps mariadb-libs
#解压mysql数据库/opt下
tar -zxvf mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz
#修改名称
mv mysql-5.7.37-linux-glibc2.12-x86_64 mysql5.7
#添加名为mysql的用户组
groupadd mysql
#添加名为mysql的用户,并将其添加到mysql组中
useradd -r -g mysql mysql
#创建mysql数据目录 /opt下新建data/mysql文件夹
mkdir -p /opt/data/mysql
#将mysql数据目录的所有者和所有组改为刚才创建的mysql用户和组
chown mysql:mysql -R ./data/mysql
#创建my.cnf文件
vim /etc/my.cnf
[mysqld]
bind-address=0.0.0.0
#mysql监听的ip地址,如果是127.0.0.1,表示仅本机访问,0.0.0.0表示全地址可以访问(任何主机)
port=3306 #mysql运行在哪个端口
user=mysql #mysql以什么用户运行
basedir=/opt/mysql5.7 #mysql主目录
datadir=/opt/data/mysql #mysql的数据目录
socket=/tmp/mysql.sock #mysql以socket方式运行的sock文件位置
log-error=/opt/data/mysql/mysql.err #错误日志位置
pid-file=/opt/data/mysql/mysql.pid #进程id文件
#character config
character_set_server=utf8mb4 #服务器使用的字符集
symbolic-links=0 #是否支持符号链接,即数据库或表可以存储在my.cnf中指定datadir之外的分区或目录,为0不开启
#explicit_defaults_for_timestamp=true #mysql中TIMESTAMP类型和其他的类型有点不一样(在没有设置explicit_defaults_for_timestamp=1的情况下)
lower_case_table_names=1#数据库表为小写
#先cd到bin目录
cd /opt/mysql5.7/bin
#mysql初始化命令,必须在bin目录下使用(记得看密码)
./mysqld --initialize --user=mysql
#添加mysql服务
cp /opt/mysql5.7/support-files/mysql.server /etc/init.d/mysql
###切换mysql用户
#启动mysql
- service mysql start
- service mysql status
登录mysql提示mysql命令不存在
echo $PATH #查看当前路径
vim /etc/profile
export PATH=/opt/mysql5.7/bin:$PATH
source /etc/profile
常用命令:
SET PASSWORD = PASSWORD('你要设置的密码');
flush privileges;
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
flush privileges;
修改客户端某个IP无法访问;
use mysql;
update user set host='xxx.xxx.xxx.xxx';
chkconfig --add mysql #将mysqld服务加入到系统服务,开机自启
chkconfig --list mysql #检查mysqld服务是否已经生效
1、开启防火墙
systemctl start firewalld
2、开放指定端口
firewall-cmd --zone=public --add-port=1935/tcp --permanent
命令含义:
--zone #作用域
--add-port=1935/tcp #添加端口,格式为:端口/通讯协议
--permanent #永久生效,没有此参数重启后失效
3、重启防火墙
firewall-cmd --reload
4、查看端口号
netstat -ntlp //查看当前所有tcp端口·
netstat -ntulp |grep 1935 //查看所有1935端口使用情况·
skip-grant-tables 强制进入mysql
flush privileges;