MySQL在Linux系统安装方法

1、检查MariaDB

因为这个会和MySQL有冲突,所以先检查一下是否有安装

#查看mariadb
rpm -qa|grep mariadb
#卸载mariadb,mariadb-libs-5.5.44-2.el7.centos.x86_64是上一步查看显示出来的
rpm -e --nodeps mariadb-libs-5.5.44-2.el7.centos.x86_64
#删除etc目录下的my.cnf
rm /etc/my.cnf

2、检查是否已经存在MySQL

#查看mariadb
rpm -qa | grep mysql
#卸载mysql,mysql-libs-5.1.73-5.el6_6.x86_64是上一步查看显示的结果
rpm -e --nodeps mysql-libs-5.1.73-5.el6_6.x86_64

3、官网下载安装包

官网地址MySQL :: Download MySQL Community Server (Archived Versions),下载对应版本的安装包,如果不知道版本,输入如下命令即可查看

getconf LONG_BIT

image.png

image.png

4、上传下载好的文件

可以使用SSH工具连接(WINSCP/FinalShell/Xshell),连接到服务器之后可视化界面上传到任意文件夹下即可,我上传到了home目录下

image.png

5、解压

进入/usr/local下,输入如下命令解压

cd /usr/local/
tar -xvf /home/mysql-8.0.28-linux-glibc2.12-x86_64.tar.xz

image.png

解压完成之后,给解压好的文件夹改个名字

mv mysql-8.0.28-linux-glibc2.12-x86_64 mysql

6、创建data目录

mkdir /usr/local/mysql/data

7、创建MySQL用户组和用户

#进入mysql目录
cd /usr/local/mysql
#添加用户组
groupadd mysql
#添加用户
useradd -g mysql mysql

8、更改权限

为了方便,直接给mysql文件夹更改权限

chown -R mysql.mysql /usr/local/mysql

image.png

9、配置环境

配置my.cnf文件,如果没有则使用如下命令创建

touch /etc/my.cnf

如果有,直接编辑

vim /etc/my.cnf

i进入编辑模式,加入环境配置,可直接删除原配置,粘贴下方配置,注意要修改自己安装mysql的位置,如果是和我安装的位置一样,那么直接复制粘贴即可。

[mysql]
#设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
# 设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
lower_case_table_names=1
max_allowed_packet=16M
socket=/usr/local/mysql/mysql.sock
symbolic-links=0
[client]
port=3306
socket=/usr/local/mysql/mysql.sock
!includedir /etc/my.cnf.d

ESC键,输入:wq进行保存。

10、初始化

进入mysql的bin目录(第二条命令不要忘记修改自己的mysql安装目录)

cd /usr/local/mysql/bin/
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --user=mysql --initialize

此时,如果linux环境缺少libaio.so.1,会报错./mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

image.png

安装对应的缺少文件后,再执行刚才的命令

yum install -y libaio.so.1
#如果执行了上边的命令不能解决,那么在执行下边的即可
yum install -y libaio

等待安装成功后,重新执行,如下图所示即成功初始化,记住初始密码

image.png

11、加入系统服务

同样,再次提醒,不要忘记修改自己的mysql安装目录

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

12、启动MySQL,修改密码

service mysql start

image.png

#进入mysql
./mysql -u root -p

修改密码

ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';
#刷新权限
flush privileges;

image.png

13、配置远程访问

使用刚才设置的密码进行登录,登录成功后输入下面的命令

use mysql;
select user,host,plugin,authentication_string from user;
#mysql8认证方式改了,mysql_native_password这个才能远程连接mysql
alter user 'root'@'%' identified with mysql_native_password by 'root';
flush privileges;

image.png

14、Navicat测试连接

image.png

阿里云Linux服务器开放Mysql端口(3306)

1. 进入mysql服务之后

# 进入mysql表
use mysql;

# 查看mysql的所有用户
select host,user,password from user;

2. 添加远程访问的用户权限
# root表示mysql的一个用户名  '%'表示所有远程ip  '123456'是密码
# 该命令的意思是任何公网IP的都可以通过用户名为root 密码为123456 访问改数据库
grant all privileges on *.* to root@'%' identified by '123456' with grant 
option;

# 使其立即生效
flush privileges;

# 退出
exit;

# 重启mysql服务
service mysql restart

3. 在防火墙中开放端口
# 首先进入/etc/sysconfig 查看是否有iptables文件
cd /etc/sysconfig

# 若没有iptables文件 则执行以下命令 再查看就会有iptables文件了
yum install iptables-services

# 编辑iptables文件 在图中位置添加下面一句话(位置一定要对)
# 注意:增加的开放3306端口的语句一定要在icmp-host-prohibited之前
# 若是以后想开放其他端口也是在这里添加 只需要将3306替换成其他端口号
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

# 重启防火墙
systemctl restart iptables.service

# 查看防火墙状态
service iptables status

 

说明: 一般到这一步就已经打开3306端口号了, 可以在本地终端用telnet探测一下 
命令:telnet 公网IP 端口号
例如:telnet 128.101.10.66 3306
如果显示的是 Connected to 120.79.67.32 说明打开成功
若果显示的是连接超时的话, 就是需要打开阿里云控制, 开放一下端口
4. 阿里云控制台开放端口

详细步骤: 登陆阿里云, 看第二大步骤, 很简单的 传送门

参考文章:

http://blog.csdn.net/benben0503/article/details/51671680

http://blog.csdn.net/WeakFantasy/article/details/52348829?locationNum=10
  • 18
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值