STEP 1. 下载

去往官方下载MySQL包.http://dev.mysql.com

mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz

STEP 2. 解压缩

[root@study mysql]pwd
/root/soft-install/
[root@study mysql]tar -zxvf mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz

STEP 3.  将解压后的目录的内容移动到指定的安装目录下,我选择在/data/mysql, 建立相关文件以及修改文件和目录的属性

  [root@study mysql]test -d /data/mysql || mkdir /data/mysql
#移动第二步中解压目录中的所有数据到 /data/mysql中
[root@study mysql] mv mysql-5.7.25-linux-glibc2.12-x86_64/* /data/mysql # 查看是否有mysql用户名和mysql用户组
[root@study mysql] cat /etc/passwd | grep mysql
[root@study mysql] cat /etc/group | grep mysql #如果存在,则删除用户和用户组
[root@study mysql] userdel -r mysql # 接下来,新建mysql用户(系统账号)、mysql用户组
[root@study mysql] groupadd mysql
[root@study mysql] useradd -r -s /sbin/nologin -d /data/mysql -g mysql mysql    #创建mysql用户为系统账号,禁止登陆系统,并指定家目录为/data/mysql,所属组为mysql组。 #更改/data/mysql目录的用户以及用户组
[root@study mysql]chown -R mysql:mysql /data/mysql # 创建MySQL 数据目录
[root@study mysql]mkdir /var/mysql # 更改目录权限(用户以及用户组)
[root@study mysql]chown -R mysql:mysql /var/mysql # 创建 日志
[root@study mysql] test -d /var/log/mysql || mkdir /var/log/mysql
[root@study mysql] chown -R mysql:mysql /var/log/mysql
# 创建 pid进程文件
[root@study mysql] touch  /data/mysql/mysqld.pid
[root@study mysql] chown mysql.mysql /data/mysql/mysqld.pid

注意:pid文件是mysql启动时自动创建的文件,无需用户手动单独创建,该文件是在mysql初始化(初始化时要求mysql的数据库目录文件夹为空,否则初始化失败)时提前指定的,否则为系统默认的pid文件。
例如:mysqld --initialize --user=mysql --basedir=/usr/local/mysql-5.7.20 --datadir=/data/mysql --pid-file=/data/mysql/mysqld.pid

STEP 4. 修改配置文件 /etc/my.cnf

[root@study mysql] vim /etc/my.cnf
###
[mysqld]
# 数据目录
datadir=/var/mysql
# 基础目录
basedir=/data/mysql
# MySQL监听端口
port=3306
# soket文件
socket=/tmp/mysqld.sock
# 服务器字符集
character-set-server = utf8
symbolic-links=0
[mysqld_safe]
# mysql 日志文件
log-error=/var/log/mysql/mysqld.log
# mysql pid文件
pid-file=/data/mysql/mysqld.pid

STEP 5. 1安装初始化

[root@study mysql] /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/data/mysql --datadir=/var/mysql 

初始化完毕,生成msql的临时登陆密码,在屏幕上显示,

2019-12-01T04:51:27.589838Z 1 [Note] A temporary password is generated for root@localhost: je_BjKq;i54%

STEP 5. 2安装初始化

[root@study mysql] /usr/local/mysql/bin/mysqld --initialize-insecure  --user=mysql --basedir=/data/mysql --datadir=/var/mysql 

STEP 6.1  启动测试以及加入系统服务

linux7版本使用此方式加入,无法使用systemctl进行启动/关闭服务,如需使用systemctl命令操作,需要加入到system启动文件中。
mysqld_safe脚本可以启动任何安装方式安装的Mysql,并总是尝试将服务和数据库与工作目录相关联,需要使用ln -s   /tmp/mysqld.sock /var/lib/mysql/mysql.sock方可。
[root@study mysql] cd /data/mysql/
[root@study mysql] cp support-files/mysql.server  /etc/init.d/mysqld
[root@study mysql] vim /etc/init.d/mysqld      #添加basedir路径,添加datadir路径,添加mysql pid文件路径
[root@study mysql]chkconfig --add mysqld
[root@study mysql]chkconfig mysqld on
[root@study mysql]service mysqld start
[root@study mysql]ln -s /data/mysql/bin/*  /usr/bin/    #添加mysql命令为系统命令
[root@study mysql]mysql -uroot -p
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
[root@study mysql]ln -s   /tmp/mysqld.sock /var/lib/mysql/mysql.sock 
[root@study mysql] mysql -uroot -p              #输入mysql初始化时产生的临时密码登陆
mysql > alter user 'root'@'localhost' identified by '123456';  #首次登陆,修改账号密码

出现错误
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

尝试
ln -s   /tmp/mysqld.sock /var/lib/mysql/mysql.sock

STEP 6.2 启动测试以及加入系统服务

[root@study mysql] cd /data/mysql/
[root@study mysql] cp support-files/mysql.server  /etc/mysqld
[root@study mysql] vim /etc/mysqld      #添加basedir路径,添加datadir路径,添加mysql pid文件路径
[root@study mysql]chkconfig --add mysqld
[root@study mysql]chkconfig mysqld on
[root@study mysql]service mysqld start
[root@study mysql]ln -s /data/mysql/bin/*  /usr/bin/    #添加mysql命令为系统命令


[root@study mysql]mysqladmin -u root password 123456    # 配置数据库管理员用户密码,假设为 123456
[root@study mysql]mysql -uroot -p123456
mysql > grant all privileges on *.*  to 'user'@'localhost' identified by 'gz@1234';  #创建指定用户,并赋权

STEP 7.  设置开机启动以及打开防火墙设置

#防火墙
[root@study mysql] firewall-cmd --permanent --zone=pulibc --add-port=3306/tcp
[root@study mysql] firewall-cmd --reload

STEP 8.  远程主机连接mysql

#连接mysql
[root@study mysql] mysql -h ip地址 -u 用户名 -p 密码

最新文章

  1. - >code vs 1475 m进制转十进制
  2. 【ASP.NET实战教程】基于ASP.NET技术下多用户博客系统全程实战开发(NNblog)
  3. 通过form上传文件(php)
  4. HTML基础篇之列表相关标签和特殊字符实体
  5. android MSM8974 上DeviceTree简介
  6. domion Designer 管理员ID过期
  7. poj1276 多重背包
  8. Android AVD创建及设置中各参数详解
  9. 历时八年,HTML5 标准终于完工了
  10. 浅谈javascript中的数据类型和引用类型
  11. Linux优化之IO子系统监控与调优
  12. Android菜鸟的成长笔记(17)—— 再看Android中的Unbounded Service
  13. IndentationError: unexpected indent
  14. sublime text 3 package Install 安装失败解决方法
  15. PHP输出缓存ob系列函数
  16. TF报错解决
  17. Sqoop: ERROR manager.SqlManager: Error reading from database: java.sql.SQLException:
  18. linux --- 10.常见命令
  19. 20155228 实验四 Android开发基础
  20. hihoCoder week4 Trie图

热门文章

  1. computed、watch、methods的区别
  2. 创建全文索引----SQLserver
  3. mybatis原理解析
  4. c# log4net安装时在AssemblyInfo中提示找不到log4net解决办法
  5. Delphi 集合类型
  6. 2019.9.27PHP基础
  7. PAT Basic 1012 数字分类 (20 分)
  8. Fatal Error: Out of memory php内存溢出处理三种方法
  9. DEC-UPDATE
  10. string::erase