从0开始的Linux项目搭建--Mysql搭建篇(1)
从0开始的Linux项目搭建,小编将手把手的教大家搭建Linux项目。
上一期做了Linux服务器间的免密登陆,这次我们将介绍Mysql数据库的搭建。
本篇文章将会以流程和指令的形式介绍,干货满满!
这一期用到了相关知识有
1.Linux环境下Mysql搭建
2.数据库备份
Mysql搭建
1.根据自己项目Mysql版本挑选安装包
https://downloads.mysql.com/archives/community/
小编用的是5.7.26版本的
2.上传至Linux服务器,解压安装包
tar -xvf mysql-5.7.26-linux-glibc2.12-x86_64.tar
3.给文件夹重命名
mv mysql-5.7.26-linux-glibc2.12-x86_64.tar mysql
4.修改配置文件my.cnf
vim /etc/my.cnf
修改Socket:登陆mysql要使用的套接字,就填默认的即可
修改User:用户
修改Port:端口
修改Log-error:错误日志
修改Pid-file:不懂~
这几项全部都要认真填写,不然以后还是需要一遍遍填写并debug。
[mysqld]
#datadir=/var/lib/mysql
#socket=/var/lib/mysql/mysql.sock
socket=/tmp/mysql.sock
basedir=/opt/mysql
datadir=/opt/mysql/data
user=root
port=3306
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd
[mysqld_safe]
log-error=/opt/mysql/data/mysqld.log
pid-file=/opt/mysql/data/mysqld.pid
#
# include all files from the config directory
#
!includedir /etc/my.cnf.d
5.初始化数据库
定位到mysql的bin包
cd /opt/mysql/bin
执行并初始化配置
./bin/mysqld --initialize --user=root --basedir=/opt/mysql --datadir=/opt/mysql/data
初始化成功后,会返回数据库原始密码,注意保存
A temporary password is generated for root@localhost: 2kjZRtoIsf*d
6.添加启动配置文件,并启动mysql
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
service mysql start
ps -ef | grep mysql
7.添加mysql指令到服务器
ln -s /opt/mysql/bin/mysql /usr/bin/
8.登陆mysql
mysql -u root -p
9.设置密码
SET PASSWORD = PASSWORD('123456');
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
FLUSH PRIVILEGES;
10.设置连接权限
use mysql
update user set host = '%' where user = 'root';
FLUSH PRIVILEGES;
数据库备份
Mysql数据库环境搭建好了,如何备份数据库呢?
1.导出数据库(也可以借助navicat)
导出表结构+数据
mysqldump -u用户名 -p 数据库名 > 数据库名.sql
只导出表结构
mysqldump -u用户名 -p -d 数据库名 > 数据库名.sql
2.导入数据库
# 创建数据库 create database abc;
# 使用已创建的数据库 use abc;
set names utf8; # 设置编码
source /home/abc/abc.sql # 导入备份数据库
总结
主从同步这里暂时先不介绍,后续会继续更新。
小编在做这个系列之前也是Linux小白,但迫于项目压力,紧急2倍速学习完了Linux基本语法。再经过不断的练习,现在已经能较为熟练的使用Linux了。
如果有人问,要怎么才能学好Linux呢?
我会告诉他,熟能生巧,多练习多搭建。