云原生 linux环境搭建mysql

1.在mysql官网选择要下载的mysql版本

MySQL :: Download MySQL Community Server (Archived Versions)

2.选择好后右键复制download链接,在linux的usr目录新建文件夹 mysql

注意:此处不要将目录新建到root目录下。不然会有一系列的问题

mkdir mysql  

进入mysql目录 cd mysql  wget + 复制的链接:本文以5.7.38为例

 wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz
 

3.下载后解压: tar -zvxf  https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz

4.可以通过mv指令修改文件名称,mv  mysql-5.7.38-linux-glibc2.12-x86_64 mysql

5.进入mysql文件夹 cd mysql 创建data文件夹用于数据存放,mkdir data。

6.配置my.cnf文件 vim /etc/my.cnf:

[mysqld]
datadir=/usr/mysql/mysql/data
basedir=/usr/mysql/mysql
socket=/tmp/mysql.sock
user=mysql
port=3306
character-set-server=utf8
# 取消密码验证(登录时不需要输密码,建议注释掉。忘记密码时可以放开)
skip-grant-tables
# Disabling symbolic-links is recommended to prevent assorted       security risks
symbolic-links=0
# skip-grant-tables
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
 

注:复制粘贴到服务器时注意前面几行是否有遗漏掉

7.初始化数据 进入mysql的bin文件夹执行  cd /root/mysql/mysql/bin

先给予data目录权限:chown -R mysql.mysql /root/mysql/mysql/data

执行:./bin/mysqld --initialize --user=mysql --basedir=/data/software/mysql/ --datadir=/data/software/mysql/data/

8.将mysql.server复制到/etc/init.d中使其有执行权限

cp /usr/mysql/mysql/support-files/mysql.server /etc/init.d/mysql

9. vim ~/.bash_profile

在下面设置:export PATH=$PATH:/usr/mysql/mysql/bin   后并 :wq报错 

10.使配置生效: source ~/.bash_profile

11.设置开机启动

chkconfig mysql on

12.启动mysql服务

service mysql start

上文中,etc/my.cnf mysqld中配置了
skip-grant-tables 会使mysql可以无密码登录,前两天收到云通知 mysql弱指令漏洞故此补充

13.mysql密码修改

上文中设置为mysql免密登录  linux控制台输入 mysql -uroot 进入mysql服务

mysql控制台输入:

update mysql.user set authentication_string=password('此处输入您要添加的mysql新密码') where user="root";
密码修改成功

刷新配置将用户信息/权限设置从mysql库(MySQL数据库的内置库)中提取到内存里 

flush privileges;

exit退出mysql控制台

vim /etc/my.cnf 进入mysqld配置

将skip-grant-table注释掉。

esc  :wq 保存

回到控制台执行: service mysql restart 

mysql重启后 mysql -uroot 已无法访问mysql

输入 mysql -uroot -p

输入你设置的新密码后 mysql服务可以正常访问

mysql弱指令漏洞解除后续通过密码访问mysql

14.远程授权其它mysql连接工具(navcat, datagrip等)可以通过账号密码的形式连接mysql服务器

设置远程连接密码

进入mysql服务器后:

设置远程密码

 ALTER USER USER() IDENTIFIED BY '远程连接密码'; 数据库本身密码也会重置

授予用户密码远程访问权限

GRANT ALL PRIVILEGES ON *.* TO '用户名'@'%' IDENTIFIED BY '刚刚设置的密码' WITH GRANT OPTION; 

刷新配置将用户信息/权限设置从mysql库(MySQL数据库的内置库)中提取到内存里

flush privileges;

exit退出mysql控制台

此时远程连接工具可以通过用户名密码访问mysql。
 

注:要在服务器安全组中将端口权限全部打开,不然mysql会报10060.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值