Linux 安装 Mysql5.7.20 版本

Linux 安装 Mysql5.7.20 版本

1.服务器环境

  • CentOS 7.2

2.移除 mariadb

**
操作之如果有默认数据库马瑞 DB 前先移除 mariadb

yum -y remove mari*
rm -rf /var/lib/mysql/*

3.下载tar包

mysql5.7 的 tar 包:
下载地址:
https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz
**

4.使用 ftp 工具把 tar 包传输到 usr/local/目录下


推荐工具 Xftp 下载地址

4.1解压 tar 包

tar -zxvf mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz

4.2更改文件名称

mv mysql-5.7.28-linux-glibc2.12-x86_64 mysql

5.创建用户和用户组并赋予权限

groupadd mysql
useradd -r -g mysql mysql
chown -R mysql:mysql mysql/

6.安装和初始化数据库

cd mysql
./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --lc_messages_dir=/usr/local/mysql/share --lc_messages=en_US

如果无错误继续,出现如下错误的

报错信息:bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
解决办法:

yum update
yum install -y libaio

**

7.获取初始登录密码

执行上一步操作后会在命令行输出 root@localhost: gFamcspKm2+u localhost: 后面的这一串便是你首次登陆 mysql 需要的初始密码
如下图:

  1. 配置 my.cnf
vim /etc/my.cnf

下面的粘贴进去

[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

8.启动服务

cd /usr/local/mysql/bin/
./mysqld_safe --user=mysql &

9.设置开机启动

进入 /usr/local/mysql 文件夹

cd /usr/local/mysql/support-files
cp mysql.server /etc/init.d/mysql

10.使用 service mysqld 命令启动/停止服务

service mysql start/stop/restart

实在不行,用这个:

sudo ./support-files/mysql.server start

注意,5.7 版本往上修改密码:

mysql -uroot -p你的密码
use mysql
update mysql.user set authentication_string=password('123456') where user='root'

全局使用 mysql

ln -s /usr/local/mysql-5.7.22/bin/mysql /usr/bin

新建用户远程连接 mysql 数据库

grant all on *.* to admin@'%' identified by '123456' with grant option;
flush privileges;
允许任何ip地址(%表示允许任何ip地址)的电脑用admin帐户和密码(123456)来访问这个mysql server。
注意admin账户不一定要存在。

支持 root 用户允许远程连接 mysql 数据库

grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
flush privileges;

11.异常

11.1解决“ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (111)”

rm -rf /tmp/mysql.sock
cd /usr/local/mysql
sudo ./support-files/mysql.server start
mkdir /var/run/mysqld/
chown -R mysql.mysql /var/run/mysqld/
  • mysql> use mysql

ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

SET PASSWORD = PASSWORD('123456');

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

  • 启动异常[“ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2)”]

解决办法:mysql 服务未启动,启动就好了.

  • ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
alter user user() identified by "123456";

-[x]服务器重启后连接 mysql 出现 ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/data/mydata/mysql.sock’ (111)类似

[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'
basedir=/usr/local/mysql-5.7.22
datadir=/usr/local/mysql-5.7.22/data
socket=/tmp/mysql.sock
log-error=/var/log/mysqld.log
pid-file=/data/mydata/mysqld.pid
bind-address=0.0.0.0
socket = /data/mydata/mysql.sock
[client]
socket = /data/mydata/mysql.sock

把 mysqld.pid 的文件换个其他文件夹就行了

11.2 异常

[Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).

在初始化安装时增加

--explicit_defaults_for_timestamp=1
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员鱼丸

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值