Centos 7 安装MySQL5.7.22

下载 MySQL Community Server 5.7.22

   MySQL Community Server 5.7.22 包:mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz

  其他版本下载:  https://dev.mysql.com/downloads/

卸载mariadb或者mysql

# 删除mysql的rpm包

[mysql@master ~]# rpm --nodeps `rpm -qa | grep -i mysql`

# 删除mysql的相关文件和文件夹

[mysql@master ~]# rm -rf `find / -name mysql`

创建mysql组和用户

# 创建组

[mysql@master ~]# groupadd mysql

# 创建用户

[mysql@master ~]# useradd -g mysql mysql

# 设置密码(mysql)

[mysql@master ~]# passwd mysql

# 此提示可以忽略

BAD PASSWORD: The password is shorter than 8 characters

安装步骤

  • 将 mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz 文件上传到linux,我上传到/opt目录

# 解压mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz

[mysql@master opt]# mkdir /usr/local/mysql

[mysql@master opt]# tar -zxvf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz -C /usr/local/mysql/

# 复制完后 cd到mysql目录

[mysql@master opt]# cd /usr/local/mysql

[mysql@master mysql]# mkdir data

# 查看

[mysql@master mysql]# ll

total 36

drwxr-xr-x  2 root root   4096 May  8 09:05 bin

-rw-r--r--  1 7161 31415 17987 Mar  4 05:40 COPYING

drwxr-xr-x  2 root root   6 May  8 09:07 data

drwxr-xr-x  2 root root   55 May  8 09:05 docs

drwxr-xr-x  3 root root   4096 May  8 09:05 include

drwxr-xr-x  5 root root   229 May  8 09:05 lib

drwxr-xr-x  4 root root   30 May  8 09:05 man

-rw-r--r--  1 7161 31415  2478 Mar  4 05:40 README

drwxr-xr-x 28 root root   4096 May  8 09:05 share

drwxr-xr-x  2 root root   90 May  8 09:05 support-files

  • 开始安装
  • chown -R mysql:mysql /usr/local/mysql

# cd到/usr/local/mysql/bin目录,执行如下命令

[mysql@master bin]# ./mysqld --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/

# 当出现Version: '5.7.22'  socket: '/tmp/mysql.sock'  port: 3306  MySQL Community Server (GPL)时,再打开一个linux终端继续操作

测试mysql能否启动

# cd到/usr/local/mysql/support-files/

[mysql@master ~]# cd /usr/local/mysql/support-files/

[mysql@master support-files]# ll

total 24

-rw-r--r-- 1 7161 31415   773 Mar  4 05:40 magic

-rwxr-xr-x 1 7161 31415  1061 Mar  4 06:02 mysqld_multi.server

-rwxr-xr-x 1 7161 31415   894 Mar  4 06:02 mysql-log-rotate

-rwxr-xr-x 1 7161 31415 10576 Mar  4 06:02 mysql.server

# 编辑mysql.server,修改basedir、datadir

[mysql@master support-files]# vim mysql.server

# 启动测试

[mysql@master support-files]# ./mysql.server start

Starting MySQL SUCCESS!

# 创建连接

[mysql@master support-files]# ln -s /usr/local/mysql/bin/mysql /usr/bin

mysqld配置

[mysql@master ~]# cp /usr/local/mysql/support-files/mysql.server  /etc/init.d/mysqld

[mysql@master ~]# chmod 755 /etc/init.d/mysqld

[mysql@master ~]# chkconfig --add mysqld

[mysql@master ~]# chkconfig mysqld on

# 启动测试

[mysql@master ~]# systemctl stop mysqld

[mysql@master etc]# systemctl status mysqld

mysqld.service - LSB: start and stop MySQL

   Loaded: loaded (/etc/rc.d/init.d/mysqld; bad; vendor preset: disabled)

   Active: active (exited) since Tue 2018-05-08 09:55:37 PDT; 2s ago

     Docs: man:systemd-sysv-generator(8)

  Process: 7935 ExecStart=/etc/rc.d/init.d/mysqld start (code=exited, status=0/SUCCESS)

 

May 08 09:55:36 master systemd[1]: Starting LSB: start and stop MySQL...

May 08 09:55:37 master mysqld[7935]: Starting MySQL SUCCESS!

May 08 09:55:37 master systemd[1]: Started LSB: start and stop MySQL.

May 08 09:55:37 master mysqld[7935]: 2018-05-08T16:55:37.106676Z mysqld_safe A mysqld process already exists

重置密码

# 1.修改配置文件my.cnf

[mysqld]

basedir=/usr/local/mysql

datadir=/usr/local/mysql/data

skip-grant-tables

# port = .....

# server_id = .....

# socket = .....

[client]

default-character-set=utf8

 

# 2.找到[mysqld]在之后添加 skip-grant-tables

# 3.重启mysql服务

[mysql@master ~]# systemctl restart mysqld

# 直接登录

[mysql@master ~]# mysql -u root -p

mysql> update mysql.user set authentication_string=password('123456') where user='root';

Query OK, 1 row affected, 1 warning (0.00 sec)

Rows matched: 1  Changed: 1  Warnings: 1

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)

# 退出mysql,到my.cnf中把开始添加的skip-grant-tables注释掉或删掉

# 重启

[mysql@master ~]# systemctl restart mysqld

#登录

[mysql@master ~]# mysql -uroot -p

Enter password:

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 2

Server version: 5.7.22

 

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

 

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

 

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

 

mysql>

到此,mysql安装完成

修改密码:

 

若要外部连接登录MySQL执行:

mysql> update mysql.user set host = '%' where user = 'root';    

 

mysql> flush privileges;

 

mysql> select user,host from user;

+---------------+-----------+

| user          | host      |

+---------------+-----------+

| root          | %         |

| mysql.session | localhost |

| mysql.sys     | localhost |

+---------------+-----------+

3 rows in set (0.00 sec)

 

注意

  1. 配置文件中 basedir和datadir路径一定要写对
  2. 若出现ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement,以此执行以下命令(红色部分修改即可)

mysql> set password = PASSWORD('your new password');

Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> alter user 'root'@'localhost' PASSWORD EXPIRE NEVER;

Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)

此时,MySQL已经安装完成了,不建议使用root用户进行安装

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CentOS 7下配置MySQL 5.7.22的主从复制,需要以下步骤: 1.安装MySQL 5.7.22版本 在CentOS 7上安装MySQL 5.7.22,可以使用如下命令: ``` sudo yum install mysql-server ``` 2.配置主服务器 在主服务器的配置文件`/etc/my.cnf`中添加如下内容: ``` server-id=1 log-bin=mysql-bin binlog-do-db=test ``` 其中,`server-id`表示服务器的ID,`log-bin`表示开启二进制日志,`binlog-do-db`表示指定需要同步的数据库名称。 3.重新启动MySQL服务器 在修改了配置文件后,需要重新启动MySQL服务器: ``` sudo systemctl restart mysqld ``` 4.创建用于复制的用户 在主服务器上创建一个用于复制的用户,并授予复制权限: ``` GRANT REPLICATION SLAVE ON *.* TO 'slave_user'@'%' IDENTIFIED BY 'password'; FLUSH PRIVILEGES; ``` 其中,`slave_user`是用于复制的用户名,`password`是用户密码。 5.查看主服务器状态 在主服务器上运行如下命令查看主服务器状态: ``` SHOW MASTER STATUS; ``` 记录下`File`和`Position`的值,备用。 6.配置从服务器 在从服务器的配置文件`/etc/my.cnf`中添加如下内容: ``` server-id=2 replicate-do-db=test ``` 其中,`server-id`表示服务器的ID,`replicate-do-db`表示指定需要同步的数据库名称。 7.重新启动MySQL服务器 在修改了配置文件后,需要重新启动MySQL服务器: ``` sudo systemctl restart mysqld ``` 8.设置从服务器复制主服务器 在从服务器上运行如下命令,设置从服务器复制主服务器: ``` CHANGE MASTER TO MASTER_HOST='master_host_name', MASTER_USER='slave_user', MASTER_PASSWORD='password', MASTER_LOG_FILE='master_log_file_name', MASTER_LOG_POS=master_log_pos; ``` 其中,`master_host_name`是主服务器的IP地址或主机名,`slave_user`和`password`是用于复制的用户名和密码,`master_log_file_name`和`master_log_pos`是之前在主服务器上记录的值。 9.启动从服务器复制 在从服务器上运行如下命令,启动从服务器复制: ``` START SLAVE; ``` 10.查看从服务器状态 在从服务器上运行如下命令查看从服务器状态: ``` SHOW SLAVE STATUS\G ``` 如果输出中`Slave_IO_Running`和`Slave_SQL_Running`的值都为`Yes`,则表示从服务器已经成功复制主服务器。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值