官网下载MySQL
https://downloads.mysql.com/archives/community/
![](https://img-blog.csdnimg.cn/img_convert/8e26a215e701231a23c532533cc6fc7e.png)
2.解压文件安装文件
tar -zxvf mysql-5.7.40-linux-glibc2.12-x86_64.tar.gz
![](https://img-blog.csdnimg.cn/img_convert/2fd2238611145286894fa4ef5568ca36.png)
修改文件名并将文件移动到/usr/software/mysql目录下
mv mysql-5.7.40-linux-glibc2.12-x86_64 mysql5.7
创建mysql数据文件夹
mkdir /usr/software/data/mysql
![](https://img-blog.csdnimg.cn/img_convert/637b2a0a100e59ca9e4059ed42ef0f74.png)
2.1创建mysql的用户组和权限
创建用户组:
groupadd mysql
![](https://img-blog.csdnimg.cn/img_convert/6fa15d1fd0e34c9eae67b164f51fd784.png)
为用户组添加用户
useradd -r -s /sbin/nologin -g mysql mysql -d /usr/software/mysql
查看是否添加成功
groups mysql
![](https://img-blog.csdnimg.cn/img_convert/1320919b2e1787fe205ffbf5a204a90f.png)
进入目录并改变目录所有者
cd /usr/software/mysql/mysql5.7
chown -R mysql:mysql /usr/software/data/mysql/
初始化: 进入安装目录,执行初始化命令
cd /usr/software/mysql/mysql5.7
bin/mysqld --initialize --user=mysql --basedir=/usr/software/mysql/mysql5.7 --datadir=/usr/software/data/mysql
![](https://img-blog.csdnimg.cn/img_convert/73e4f7120b760fff33123c93116a77c2.png)
!!!Tips:记住结尾生成的临时密码zcj-lwgr,1S1
执行以下命令
bin/mysql_ssl_rsa_setup --datadir=/usr/software/data/mysql
2.2修改配置文件,并启动mysql
进入/usr/software/mysql/mysql5.7/support-files目录
cd /usr/software/mysql/mysql5.7/support-files
将mysql服务复制到系统自动执行的文件目录下(mysql为自定义服务名)
cp mysql.server /etc/init.d/mysql
进入mysql服务的配置文件中,修改配置文件
vim /etc/my.cnf
添加以下配置(其他配置请按需配置)
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/software/mysql/mysql5.7
datadir=/usr/software/data/mysql
log-error=/usr/software/data/mysql/mysql.err
pid-file=/usr/software/data/mysql/mysql.pid
character_set_server=utf8
explicit_defaults_for_timestamp=true
plugin-load-add=validate_password.so
validate-password=FORCE_PLUS_PERMANENT
skip-grant-tables
default-time_zone=+8:00
进入/etc/init.d/mysql添加如下配置
basedir=/usr/software/mysql/mysql5.7
datadir=/usr/software/data/mysql
进入/usr/software/mysql/mysql5.7/bin目录下,启动mysql
service mysql start
![](https://img-blog.csdnimg.cn/img_convert/9e31ec8c97b1acf26d908eebb8ed6eac.png)
!!!Tips:启动时候需要加载配置文件中的文件,请确保my.cnf中配置的文件夹都存在
文件不存在时,会报以下错误
![](https://img-blog.csdnimg.cn/img_convert/e02cdf95cd75ca90209f6b56f2a72687.png)
如果报以上错误,请将对应的文件夹创建,并赋予用户权限
mkdir /var/log/mariadb
touch /var/log/mariadb/mariadb.log
chown -R mysql:mysql /var/log/mariadb/
2.3登陆mysql并修改密码
mysql -uroot -h 127.0.0.1 -p
!!!Tips:如果出现以下错误,请执行以下命令,没有就不执行
![](https://img-blog.csdnimg.cn/img_convert/9382b616073fc0eea69c04b5e238aef5.png)
ln -s /usr/software/mysql/mysql5.7/bin/mysql /usr/bin
然后再次登陆,还记得上面保存的密码不?zcj-lwgr,1S1 就是它
![](https://img-blog.csdnimg.cn/img_convert/1f8cf1d31219e355de47fbad6b2afa1d.png)
修改root密码
修改validate_password_policy参数的值
set global validate_password_policy=0;
修改密码长度参数
set global validate_password_length=15;
设置root账号的密码
alter user 'root'@'%' identified by '123456';
Tips:设置密码可能出错,请面向百度,基本可以解决!!!
设置所有远程都可以连接数据库
grant all privileges on *.* to 'root'@'%' identified by '123456';
刷新mysql的系统权限
flush privileges;
quit退出,重启使用新密码登录
创建用户并授权
创建用户
create user 'username'@'%' identified by 'password';
给用户授权
1.用户的操作权限,如 SELECT,INSERT,UPDATE 等,如果要授予所的权限则使用 ALL。
2.lnskgyl.*表示可以操作的库名和表
3.to 'Lnskgyl@Admin'表示授权用户
4.@'%' 表示授权的ip,'%'表示都可以连接
grant all on lnskgyl.* to 'Lnskgyl@Admin'@'%' identified by '&Admin.lnsk@2023!';
撤销权限
revoke all on lnskgyl.* to 'username'@'%' identified by 'password';
刷新权限
flush privileges;
2.4 开放防火墙端口,并设置开机自启
firewall-cmd --zone=public --add-port=3306/tcp --permanent
systemctl restart firewalld.service
设置mysql开机自启
赋予权限
chmod +x /etc/init.d/mysql
添加服务
chkconfig --add mysql
chkconfig mysql on
查看
chkconfig --list
重新启动服务器,然后查看mysql启动状态
systemctl status mysql
![](https://img-blog.csdnimg.cn/img_convert/85a5831c86212f7415baad1d531140c5.png)
使用Navicat工具连接不上原因
mysql设置远程访问,见上部
3306端口开放
阿里云服务器开放端口
![](https://img-blog.csdnimg.cn/img_convert/157b15add98ccda0360a91e5a1b86628.png)