#【安装 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;