Liunx 安装 Mysql 5.7

时间:2024-01-19 13:34:44

#【安装 Mysql 5.7】

# 00.系统目录说明
# 安装文件下载目录:/data/software
# Mysql目录安装位置:/usr/local/mysql
# 数据库保存位置:/data/mysql
# 日志保存位置:/data/log/mysql

# 01.下载mysql
# 官网:https://dev.mysql.com/downloads/mysql/

mkdir -p /data/software
cd /data/software
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz

# 02.解压压缩包到目标位置

cd /usr/local
tar -zxvf /data/software/mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.23-linux-glibc2.12-x86_64/ mysql

# 03.创建数据仓库目录和日志目录

mkdir -p /data/mysql
mkdir -p /data/log/mysql

# 04.新建mysql用户、组,修改用户目录权限

groupadd mysql
useradd mysql -g mysql
cd /usr/local/mysql
chown -R mysql .
chgrp -R mysql .
chown -R mysql:mysql /data/mysql/
chown -R mysql:mysql /data/log/

# 05.初始化数据库 (此处需要注意记录生成的临时密码)

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

# 06.安装SSL

./bin/mysql_ssl_rsa_setup --datadir=/data/mysql

# 07.安装启动文件

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

# 08.修改配置文件

vi /etc/init.d/mysql

basedir=/usr/local/mysql
datadir=/data/mysql

vi /etc/my.cnf

[client]  
socket=/usr/local/mysql/mysql.sock

[mysql]
no-auto-rehash
default-character-set=utf8

[mysqld]
port=3306
socket=/usr/local/mysql/mysql.sock
basedir=/usr/local/mysql
datadir=/data/mysql
lower_case_table_names=1
character_set_server=utf8

[mysqld_safe]
log-error=/data/log/mysql/mysql-error.log
pid-file=/data/mysql/mysqld.pid

# 09.启动 mysql

service mysql start

# 如果报异常 Create writable for user 'mysql' 则需要先创建log文件

echo "" > /data/log/mysql/mysql-error.log
chown -R mysql:mysql /data/log/mysql/mysql-error.log

# 10.登录 mysql (输入步骤05的密码)

/usr/local/mysql/bin/mysql -user=root -p

# 11.修改密码(例如修改密码为 root ),添加外网访问用户,并查看用户

mysql> set password=password('root');
mysql> grant all privileges on *.* to root@'%' identified by 'root';
mysql> flush privileges;
mysql> use mysql;
mysql> select host,user from user;
mysql> quit

# 12.添加系统路径

vi /etc/profile

# 添加
export PATH=/usr/local/mysql/bin:$PATH
# 使配置生效

source /etc/profile

# 13. 配置mysql自动启动

chmod 755 /etc/init.d/mysql
chkconfig --add mysql
chkconfig --level 345 mysql on

# 14.关闭防火墙的命令 (CentOS6)

service iptables status
service iptables stop

#  关闭防火墙的命令 CentOS7

systemctl stop firewalld

# 命令说明
#启动 systemctl start firewalld
#关闭 systemctl stop firewalld
#查看状态 systemctl status firewalld
#开机禁用 systemctl disable firewalld
#开机启用 systemctl enable firewalld

# 15.使用service 启动、关闭 mysql 服务的命令

service mysql start
service mysql stop
service mysql restart

# 【其他】

# 导出数据库用mysqldump命令
# 1. 导出数据和表结构
# mysqldump -u用户名 -p密码 数据库名 > 数据库名.sql
/usr/local/mysql/bin/ mysqldump -uroot -p demo > demo.sql
# 敲回车后会提示输入密码

# 2. 只导出表结构
# mysqldump -u用户名 -p密码 -d 数据库名 > 数据库名.sql
/usr/local/mysql/bin/ mysqldump -uroot -p -d demo > demo.sql

# 注:/usr/local/mysql/bin/  --->  mysql的data目录

# 导入数据库
# 1. 选择数据库
mysql>use demo;
# 2. 设置数据库编码
mysql>set names utf8;
# 3. 导入数据(注意sql文件的路径)
mysql>source /home/demo.sql;
 
# 方法2
# mysql -u用户名 -p密码 数据库名 < 数据库名.sql
mysql -u abc -p demo < demo.sql

# 创建数据库语句
CREATE DATABASE db_name DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;