Linux环境下安装MySQL数据库示例教程

共 3285字,需浏览 7分钟

 ·

2020-01-01 23:25

点击上方SQL数据库开发,关注获取SQL视频教程


SQL专栏

SQL数据库基础知识汇总

SQL数据库高级知识汇总

Linux环境对大多数SQL初学者还是比较陌生,今天给大家演示一下如何在Linux环境下安装MySQL数据库。


测试环境

CentOS 7.0


创建用户

我们进入到CentOS后,打开终端命令窗口,新建一个msql用户,并输入密码

103135c3f91ac358e2782a752d5d72ef.webp

注意:这里提示新的密码必须不少于8个字符,只是警告而已,可以不用理会。


下载MySQL

我们去MySQL的官网下载我们需要的安装包,这里我们下载5.6.64版本的。

地址:

https://dev.mysql.com/downloads/mysql/5.6.html#downloads

因为我们的CentOS是64位的操作系统,我们选择64位的安装包。

如下图:


074633b776ce11e204ca7e39136e9fce.webp


然后将需要的文件下载到指定目录下面,这里因为我们刚新建了一个mysql的用户,在home目录下就有一个mysql子目录了,我们将安装包放到这里。


cd /home/mysql && wget https://cdn.mysql.com//Downloads/MySQL-5.6/mysql-5.6.46-linux-glibc2.12-x86_64.tar.gz


fd92627ac077708e03f25dc2f521a948.webp


解压MySQL安装包

我们将目录切换到msql目录下面,开始解压下载好的的安装包


tar vxzf mysql-5.6.46-linux-glibc2.12-x86_64.tar.gz



重命名解压后的文件夹


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



新建配置文件

在mysql目录下面新建一个my.cnf文件

vi /home/mysql/port-3306/my.cnf


具体内容如下:
[client]
default-character-set=utf8 #客户端连接编码

[mysql]
auto-rehash #客户端tab补全
default-character-set=utf8 #编码

[mysqld]
user=mysql #运行账户
port=3306                     #定义端口
log-bin=mysql-bin             #开启二进制日志
server-id=1001                #定义服务ID

binlog_format=row          # binlog类型
binlog_do_db=MDA # 设置binlog数据库

max_allowed_packet=50M ###最大
wait_timeout=30             ###等待超时默认s
interactive_timeout=30      ###活动超时

innodb_buffer_pool_size = 128M
join_buffer_size = 128M
sort_buffer_size = 2M
read_rnd_buffer_size = 2M

basedir=/home/mysql/mysql-5.5.61           #MYSQL根目录
datadir=/home/mysql/port-3306/data      #MYSQL数据存放目录
socket=/home/mysql/port-3306/3306_mysql.sock #套接字

init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8 #定义数据库默认字符 server\collation
collation-server=utf8_unicode_ci
skip-character-set-client-handshake

symbolic-links=0

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

lower_case_table_names = 1             #对表的大小写不敏感

[mysqld_safe]
log-error=/home/mysql/port-3306/logs/err.log #错误日志
pid-file=/home/mysql/port-3306/mysqld.pid #pid,多协议通信 tcp/sock



开始安装

安装之前我们需要安装mysql需要的一些依赖文件


yum install -y libaio



初始化数据库


mkdir -p /data/mysql/port-3306/data
cd /home/mysql/mysql-5.6.46 && scripts/mysql_install_db --basedir=/home/mysql/mysql-5.6.46 --datadir=/home/mysql/port-3306/data --defaults-file=/home/mysql/port-3306/my.cnf



caec29bb2d30405d024506d1cdff95ed.webp


注意:生产环境推荐采用这种方式

/home/mysql/mysql-5.6.46/bin/mysql_secure_installation移除测试数据库和匿名用户。


启动服务器

启动前要修改一下mysql目录下的属性

chown mysql:mysql /home/mysql/*


创建日志目录

mkdir -p /home/mysql/port-3306/logs && mkdir -p /home/mysql/port-3306/data && touch /home/mysql/port-3306/logs/err.log;
/home/mysql/mysql-5.6.46/bin/mysqld_safe --defaults-file=/home/mysql/port-3306/my.cnf --user=mysql &


82d59f17d71cc8d2b5ae281b56546149.webp
06e8e7c92e94f8b0f64b1b8d6a8dd3f5.webp


修改管理员密码

/home/mysql/mysql-5.6.46/bin/mysqladmin -u root password 'sqlroad' -S /home/mysql/port-3306/3306_mysql.sock -hlocalhost -P3306



开放外网连接权限

/home/mysql/mysql-5.6.46/bin/mysql -S /home/mysql/port-3306/3306_mysql.sock -hlocalhost -P3306 -uroot -p'sqlroad'



执行脚本

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'sqlroad' WITH GRANT OPTION;
FLUSH PRIVILEGES;



连接

/home/mysql/mysql-5.6.46/bin/mysql -S /home/mysql/port-3306/3306_mysql.sock -hlocalhost -P3306 -uroot -p'sqlroad'


d275e9bbe7da538a1f4a940beaa1aaf2.webp



远程连接

查看本机防火墙,如果运行,也需要开启3306端口,命令如下:

systemctl status firewalld;
firewall-cmd --permanent --zone=public --add-port=3306/tcp;
firewall-cmd --complete-reload;


备注:千万不要忽略本机防火墙。

——End——

关注SQL数据库开发公众号,在后台回复关键字:资料领取,可以获取一份精心整理的技术干货。

推荐阅读

点击「阅读原文」了解SQL训练营

浏览 30
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报