linux(CentOS)搭建MySQL数据库--详细版

  • 1、MySQL数据库

去mysql官网下载需要安装的mysql版本,我这里用的是mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz
将该压缩包放到/usr/local/mysql_store目录下,mysql_store目录需要自己手动创建,

cd /usr/local
mkdir mysql_store

然后解压该压缩包,输入如下指令:

tar -zxvf mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz

创建软链接便于使用

ln -s mysql-5.7.36-linux-glibc2.12-x86_64/ mysql

添加用户组和用户

添加mysql组

groupadd mysql

创建用户mysql并将友好加到组mysql

useradd -g mysql mysql 

进入MySQL解压后的主目录

cd /usr/local/mysql_store/mysql

创建MySQL的数据文件目录”data“

mkdir data

将MySQL的主目录的所有权改为mysql用户。

chown -R mysql:mysql /usr/local/mysql_store/mysql/ 

安装:指定安装目录,数据目录

./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql_store/mysql --datadir=/usr/local/mysql_store/mysql/data 

保存安装结束展示出来的密码
将mysql/目录下所有文件,所有权都改回root用户

chown -R root . 

mysql用户只需作为mysql/data/目录下所有文件的所有者

chown -R mysql data

制作MySQL启动文件
拷贝启动文件,并改名为mysqld

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

设置启动文件的权限

chmod 755 /etc/init.d/mysqld 

拷贝文件

cp bin/my_print_defaults /usr/bin/ 

修改启动脚本
先修改”/etc/init.d/mysqld“

vi /etc/init.d/mysqld 

配置MySQL的主目录

basedir=/usr/local/mysql_store/mysql/ 

配置MySQL的数据目录

datadir=/usr/local/mysql_store/mysql/data/ 

配置MySQL的端口

port=3306

然后配置”/etc/my.cnf“

vi /etc/my.cnf 

配置MySQL的主目录

basedir=/usr/local/mysql_store/mysql/ 

配置MySQL的数据目录

datadir=/usr/local/mysql_store/mysql/data/ 
socket=/tmp/mysql.sock 
user=mysql 
tmpdir=/tmp 
symbolic-links=0 

#不区分大小写

lower_case table names = 0

配置MySQL的错误日志文件路径

log-error=/usr/local/mysql_store/mysql/data/error.log 

配置MySQL的数pid文件路径

pid-file=/usr/local/mysql_store/mysql/mysql.pid 
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

配置环境变量
配置环境变量文件”/etc/profile“

vim  /etc/profile

将MySQL主目录下面的bin目录加入到PATH环境变量

export PATH=$PATH:/usr/local/mysql_store/mysql/bin 

使环境变量生效

source /etc/profile 

启动MySQL服务

service mysqld start

登录MySQL进行配置

注意:-p后面接的是初始化密码”ska<OuT!5Qp=“,这个密码是随机产生,登录以后

立即修改。

mysql -uroot -p 

修改密码:注意密码不能太容易。

set password for root@localhost=password('xxxxx'); 

设置MySQL远程可以登录。

use mysql; 
update user set host = '%' where user ='root'; 
flush privileges; 

在防火墙上给MySQL开3306端口,以供用户的访问。

firewall-cmd --zone=public --add-port=3306/tcp --permanent 

关闭MySQL服务

service mysqld stop 

小知识

systemctl start firewalld # 启动防火墙
systemctl stop firewalld # 停止防火墙
systemctl restart firewalld # 重启防火墙
systemctl enable firewalld # 开机自启动防火墙
systemctl disable firewalld # 禁止开机自启动防火墙
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值