Linux系统安装MySQL 5.7

一、下载MySQL安装包

下载地址:

MySQL :: Download MySQL Community Server (Archived Versions)

二、上传至Linux

三、MySQL安装过程

1、配置hosts文件

[root@mysqlm ~]# echo "192.168.130.101 mysqlm" >> /etc/hosts
[root@mysqlm ~]# 
[root@mysqlm ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.130.101 mysqlm

2、卸载主机自带的MySQL

[root@mysqlm ~]# rpm -qa | grep mysql
[root@mysqlm ~]# 
[root@mysqlm ~]# rpm -qa | grep mariadb
mariadb-libs-5.5.56-2.el7.x86_64
[root@mysqlm ~]# 
[root@mysqlm ~]# rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64

rpm -e --nodeps: 表示不检查依赖,直接删除rpm包

3、安装MySQL 5.7

1. 创建用户

[root@mysqlm mysql]# groupadd mysql
[root@mysqlm mysql]# useradd -g mysql mysql

useradd 命令解释:

  • useradd 是创建新用户的命令。

  • -r 参数表示创建一个系统用户,也就是一个没有家目录的用户。

  • -g mysql 参数表示将新创建的用户分配到 mysql 用户组。

  • -s /bin/false 参数表示设置用户的登录 shell 为 /bin/false,这意味着用户不能登录到系统。

  • mysql 是要创建的用户名

 2. 解压缩

[root@mysql5-s ~]# tar xvf mysql-5.7.44-linux-glibc2.12-x86_64.tar
mysql-test-5.7.44-linux-glibc2.12-x86_64.tar.gz
mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz
[root@mysql5-s ~]# tar -zxvf mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz 
[root@mysql5-s ~]# mv mysql-5.7.44-linux-glibc2.12-x86_64 /home/mysql/
[root@mysql5-s ~]# 
[root@mysql5-s ~]# chown -R mysql:mysql /home/mysql/

3. 创建mysql目录

切换到mysql用户下继续操作:

[root@mysql5-s ~]# su - mysql
[mysql@mysql5-s ~]$ ll
total 0
drwxr-xr-x 9 mysql mysql 129 May 10 17:41 mysql-5.7.44-linux-glibc2.12-x86_64

创建数据目录及日志目录:

[mysql@mysql5-s ~]$ mv mysql-5.7.44-linux-glibc2.12-x86_64 mysql
[mysql@mysql5-s ~]$ 
[mysql@mysql5-s ~]$ mkdir data
[mysql@mysql5-s ~]$ mkdir log
[mysql@mysql5-s ~]$ 
[mysql@mysql5-s ~]$ ll
total 0
drwxrwxr-x 2 mysql mysql   6 May 10 17:46 data
drwxrwxr-x 2 mysql mysql   6 May 10 17:46 log
drwxr-xr-x 9 mysql mysql 129 May 10 17:41 mysql

4. 编辑mysql配置文件

[root@mysqlm ~]# vim /home/mysql/mysql/my.cnf
[mysql]
default-character-set = utf8
socket = /home/mysql/data/mysql.sock
[mysqld]
#skip-name-resolve
port = 3306
socket = /home/mysql/data/mysql.sock
basedir = /home/mysql/mysql
datadir = /home/mysql/data
character-set-server = utf8
​
default-storage-engine=INNODB
innodb_buffer_pool_size = 1G
max_allowed_packet = 128M
explicit_defaults_for_timestamp = 1
log-output=FILE
general_log=0
general_log_file=/home/mysql/log/general.log
slow_query_log = 1
slow_query_log_file = /home/mysql/log/slow.log
long_query_time = 8
log_error = /home/mysql/log/error.log

5. 配置环境变量

[mysql@mysql5-m ~]$ cd mysql/bin/
[mysql@mysql5-m bin]$ pwd
/home/mysql/mysql/bin
[mysql@mysql5-m bin]$ vim ~/.bash_profile
[mysql@mysql5-m bin]$ source ~/.bash_profile
[mysql@mysql5-m bin]$ which mysql
~/mysql/bin/mysql

4、数据库初始化

[root@mysqlm ~]# /home/mysql/mysql/bin/mysqld --initialize --user=mysql --basedir=/home/mysql/mysql/ --datadir=/home/mysql/data/ 
或
/home/mysql/mysql/bin/mysqld --defaults-file=/home/mysql/mysql/my.cnf --initialize --user=mysql --basedir=/home/mysql/mysql/ --datadir=/home/mysql/data/​

5、手动启动和停止MySQL方法

[root@mysqlm ~]# nohup /home/mysql/mysql/bin/mysqld_safe --defaults-file=/home/mysql/mysql/my.cnf &
或
[root@mysqlm ~]# mysqladmin -uroot -p shutdown -S /mysql/data/mysql.sock

6、配置mysql启停脚本

[root@mysqlm ~]# vim /usr/lib/systemd/system/mysqld.service
​
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
​
[Install]
WantedBy=multi-user.target
​
[Service]
User=mysql
Group=mysql
ExecStart=/home/mysql/mysql/bin/mysqld --defaults-file=/home/mysql/mysql/my.cnf
LimitNOFILE = 65536
LimitNPROC = 65536

7、配置systemctl启动和停止方法

[root@mysqlm ~]# systemctl start mysqld
[root@mysqlm ~]# systemctl stop mysqld
[root@mysqlm ~]# systemctl status mysqld
[root@mysqlm ~]# systemctl enable mysqld

8、进入数据库,修改root密码

[mysql@mysql5-m ~]$ mysql -uroot -p -S /home/mysql/data/mysql.sock
​
mysql> alter user 'root'@'localhost' identified by 'root';
Query OK, 0 rows affected (0.00 sec)
​
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

四、可能出现的报错解决

1、mysql.sock文件问题

描述:

[mysql@mysql5-m ~]$ mysql -uroot -p Enter password: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

解决:

[mysql@mysql5-m ~]$ ln -s /home/mysql/data/mysql.sock /tmp/mysql.sock 

  • 6
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值