mysql官网地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads
查看系统中是否已安装mysql
#返回空则说明未安装 rpm -qa | grep mysql
如果已安装,则删除
yum -y remove 文件名
解压文件到指定目录
tar -xvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz -C /usr/local/mysql
创建mysql用户组和用户
groupadd mysql useradd -r -g mysql mysql
创建数据目录并赋予权限
mkdir -p /data/mysql #创建目录 chown mysql:mysql -R /data/mysql #赋予权限
配置my.cnf
从Oracle官方了解到:mysql5.7.18 开始不在二进制包中提供 my-default.cnf 文件。
对于Linux上安装完mysql.5.7xxx版本后,可以按照以下步骤设置mysql的配置文件my.cnf
1. 在/etc目录下创建文件my.cnf,输入快捷命令touch my.cnf
2. 在创建的这个文件中进行参数设置,内容如下:
[mysqld] bind-address=0.0.0.0 port=3306 user=mysql basedir=/usr/local/mysql datadir=/data/mysql socket=/tmp/mysql.sock log-error=/data/mysql/mysql.err pid-file=/data/mysql/mysql.pid #character config character_set_server=utf8mb4 symbolic-links=0 explicit_defaults_for_timestamp=true
复制mysql.server到/etc/init.d/目录下(目的想实现开机自动执行效果)
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
初始化数据库
/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize
查看临时密码
cat /data/mysql/mysql.err
启动mysql
service mysql start #启动 service mysql restart #重启
查看mysql是否启动成功,有进程便代表启动成功
ps -ef|grep mysql
至此mysql安装成功!
设置mysql开机自启动,进入mysql的bin目录下
chkconfig --add mysql #添加服务mysql chkconfig mysql on #设置mysql服务为自启动
建立软连接,否则每次操作都要去mysql的bin目录下
ln -s /usr/local/mysql/bin/mysql /usr/bin
使用临时密码登录mysql
mysql -u root -p
执行以下操作,修改密码
SET PASSWORD = PASSWORD('123456'); ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER; FLUSH PRIVILEGES;
设置远程主机登录
GRANT ALL PRIVILEGES ON *.* TO '用户名'@'%' IDENTIFIED BY '密码'; GRANT ALL PRIVILEGES ON *.* TO 用户名@"%" IDENTIFIED BY "密码"; flush privileges; #立即生效
查询数据库的用户
SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;
若开启远程连接之后依然无法连接,查看防火墙状态
systemctl status firewalld #查看防火墙状态 systemctl start firewalld #启动防火墙 systemctl stop firewalld #关闭防火墙 systemctl disable firewalld #禁用防火墙
若使用的是云服务器,会有安全组,在云服务器所在的安全组中添加 3306端口权限即可