云服务器 Linux安装MySQL

MySQL官网下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads

云服务器 Linux安装MySQL_第1张图片

下载后上传到Linux,我放在/u01/mysql,你们随意

创建文件目录、数据目录并赋予权限

mkdir -p  /u01/mysql                   #创建文件目录
mkdir -p  /u01/mysql/data              #创建数据目录
chown mysql:mysql -R /u01/mysql/data   #赋予权限

解压

tar -xvf mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz 

 云服务器 Linux安装MySQL_第2张图片

 创建mysql用户组和用户并修改权限

groupadd mysql
useradd -r -g mysql mysql

配置my.cnf

vim /etc/my.cnf

 大概配置如下,注意自己的路径位置

bind-address=0.0.0.0
port=3306
user=root
basedir=/u01/mysql/mysql-5.7.31-linux-glibc2.12-x86_64
datadir=/u01/mysql/data
socket=/u01/mysql/mysql.sock
log-error=/u01/mysql/data/mysql.err
pid-file=/u01/mysql/data/mysql.pid
character_set_server=utf8mb4
explicit_defaults_for_timestamp=true

云服务器 Linux安装MySQL_第3张图片

初始化数据库

进入mysql的bin目录,注意自己的路径:

cd /u01/mysql/mysql-5.7.31-linux-glibc2.12-x86_64/bin

初始化:

./mysqld --defaults-file=/etc/my.cnf --pid-file=/u01/mysql/data/mysql.pid --basedir=/u01/mysql/mysql-5.7.31-linux-glibc2.12-x86_64 --datadir=/u01/mysql/data --user=mysql --initialize

 查看密码:

cat /u01/mysql/data/mysql.err

云服务器 Linux安装MySQL_第4张图片

 先将mysql.server放置到/etc/init.d/mysql中

cp /u01/mysql/mysql-5.7.31-linux-glibc2.12-x86_64/support-files/mysql.server /etc/init.d/mysql

 启动mysql

service mysql start

 如果启动报错出现如下问题:

解决:vim /etc/my.cnf   修改:user=root ,再重新启动。

可能我是root安装,存在权限问题,具体问题具体分析。

查看启动状态:

ps -ef|grep mysql

到此,说明已经安装成功。

修改MySQL的初始密码 

也得先使用随机初始密码登陆,前面已经提到密码位置

./mysql -u root -p   #在bin目录下执行

如果出现如下问题,找不到mysql.sock文件 ,其实这个文件的路径,我们在my.cnf中已经配置过,并且在配置的路径中已经生成相应文件,mysql.sock文件默认是在/tmp下,但此路径下没有,数据库启动的时候,系统也默认去这个文件下找mysql.sock文件,故此报错,我的解决是建立一个软连接。

 

解决:建立一个软连接,把默认位置连接到我的文件所在位置。

ln -s /u01/mysql/mysql.sock /tmp/mysql.sock

 如果你不知道自己的mysql.sock文件位置,可以使用以下命令查询:

find / -name mysql.sock

重启mysql后再登陆

#重启mysql

service mysql  restart

 云服务器 Linux安装MySQL_第5张图片

 重置密码等行为:


SET PASSWORD = PASSWORD('123456');                    #设置密码
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;  #密码到期设置为永不
FLUSH PRIVILEGES;                                     #刷新

use mysql                                             #访问mysql库
update user set host = '%' where user = 'root';       #使root能在任何host访问
FLUSH PRIVILEGES;                                     #刷新

 MySQL默认端口3306在防火墙和阿里云中配置

如果没有开启防火墙,此步不用配置


1、添加3306端口:
firewall-cmd --zone=public --add-port=3306/tcp --permanent
 
2、重启防火墙
firewall-cmd --reload
 
其它命令:
 
0.查看防火墙状态
firewall-cmd --state
 
1.启动防火墙
systemctl start firewalld 
 
2.禁用防火墙
systemctl stop firewalld
 
3.设置开机启动
systemctl enable firewalld
 
4.停止并禁用开机启动
sytemctl disable firewalld

阿里云服务器 3306端口开启:

云服务器 Linux安装MySQL_第6张图片

连接测试:

云服务器 Linux安装MySQL_第7张图片

你可能感兴趣的:(MySQL,Linux)