1.为什么我会将mysql安装在opt目录:学习linux的时候,看到/opt目录和/usr/local目录都是安装软件的目录,那这两个目录有什么区别呢?
2.本攻略默认之前没装过mysql,不然阅读前,请把mysql卸载干净
1、在/opt目录下创建mysql目录
#进入opt目录下
cd /opt
#创建mysql目录
mkdir mysql
示例:
2、在/opt/mysql 目录下,下载mysql-5.7.25安装包
# 在/opt目录 进入/opt/mysql目录
cd mysql
# 使用wget命令下载到当前目录
wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz
# 查看是否下载完毕
ls
示例:
3、在/opt/mysql 目录下,解压缩mysql-5.7.25安装包
# 使用tar -zxvf命令解压缩
tar -zxvf mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz
示例:
4、将解压缩的目录重命名,便于后面的配置
# 使用mv命令的附加功能重命名
mv mysql-5.7.25-linux-glibc2.12-x86_64 mysql-5.7.25
示例:
5、添加系统mysql组和mysql用户
# 添加 mysql组
groupadd mysql
#添加 mysql用户 -r参数表示mysql用户是系统用户,不可用于登录系统 -g添加到组
useradd -r -g mysql mysql
示例:
6、mysql-5.7.25 下创建data目录
#进入 mysql-5.7.25目录
cd mysql-5.7.25
#创建 data目录
mkdir data
示例:
7、将/opt/mysql/mysql-5.7.25的所有者及所属组改为mysql
chown -R mysql.mysql /opt/mysql/mysql-5.7.25
示例:
8、在/opt/mysql/mysql-5.7.25/support-files目录下创建my_default.cnf
# 进入 support-files目录
cd support-files
# 创建 my_default.cnf文件
touch my_default.cnf
# 用vim编辑器打开 my_default.cnf
vim my_default.cnf
# 配置如下
[mysqld]
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
basedir=/opt/mysql/mysql-5.7.25
datadir=/opt/mysql/mysql-5.7.25/data
port=3306
socket=/tmp/mysql.sock
character-set-server=utf8
log-error=/opt/mysql/mysql-5.7.25/data/mysqld.log
pid-file=/opt/mysql/mysql-5.7.25/data/mysqld.pid
- 注意:复制内容时,不要有空格且注意格式正确
示例:
9、拷贝并覆盖 /etc/my.cnf文件
# 拷贝命令 cp
cp my_default.cnf /etc/my.cnf
示例:
10、初始化 mysqld,初始化完成之后查看日志,复制出临时密码
# 进入/opt/mysql/mysql-5.7.25 下执行初始化命令
cd /opt/mysql/mysql-5.7.25
# 初始化 mysqld
./bin/mysqld --initialize --user=mysql --basedir=/opt/mysql/mysql-5.7.25/ --datadir=/opt/mysql/mysql-5.7.25/data/
# 查看日志
cat /opt/mysql/mysql-5.7.25/data/mysqld.log
示例:
- [Note] A temporary password is generated for root@localhost: 7:t,EztHdvcv
11、把启动脚本放到开机初始化目录,启动mysql服务
# 把启动脚本放到开机初始化目录
cp support-files/mysql.server /etc/init.d/mysql
# 启动mysql服务
service mysql start
示例:
12、登录mysql,密码为初始密码(复制出来的),修改密码
# 登录mysql
cd /opt/mysql/mysql-5.7.25
./bin/mysql -u root -p
# 修改密码
mysql> set password=password('123456');
mysql> grant all privileges on *.* to root@'%' identified by '123456';
mysql> flush privileges;
示例:
13、添加远程访问权限
mysql> use mysql;
mysql> update user set host='%' where user = 'root';
mysql> flush privileges;
示例:
- ERROR 1062 (23000): Duplicate entry ‘%-root’ for key ‘PRIMARY’ 不予理会
14、退出mysql,重启mysql生效
service mysql stop
service mysql start
或者
service mysql restart
示例
15、配置环境变量
# 使用vim编辑器打开 /ect/profile配置文件
vim /etc/profile
# 重新加载配置文件
source /etc/profile
#配置mysql环境变量
export MYSQL_HOME=/opt/mysql/mysql-5.7.25
export PATH=$PATH:$MYSQL_HOME/bin
示例
- 重新加载配置文件完成,可以全局登录,配置成功