linux 安装 mysql-5.7.18

  写下这篇文章,主要是在很久以前,在linux上安装过一次mysql。今天再次安装,又遇到了相同的问题。因此要做下笔记记录下。

我使用的Mysql 安装包是mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz
先解压tar -zxvf mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz
然后重命名    mv mysql-5.7.18-linux-glibc2.5-x86_64 mysql

然后进入到mysql 目录下

cp support-files/mysql.server /etc/init.d/mysql
# 赋予可执行权限
chmod +x /etc/init.d/mysql
# 添加服务
chkconfig --add mysql 

弄个my.cnf到 /etc目录下

我的是这样:

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It‘s a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.


[mysqld]
log-bin=mysql-bin
server-id=2
binlog-ignore-db=information_schema
binlog-ignore-db=cluster
binlog-ignore-db=mysql
binlog-do-db=ufind_db,test

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 
# 一般配置选项
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
#socket = /var/run/mysqld/mysqld.sock
character-set-server=utf8
log-error = /usr/local/mysql/data/error.log  #添加错误日志

最简单的

然后是注册和初始化MySQL服务
bin/mysqld --initialize-insecure --user=root --basedir=/usr/local/mysql/  --datadir=/usr/local/mysql/data/ 

遇到的第一个问题

Starting MySQL.Logging to '/usr/local/mysql/data/localhost.localdomain.err'.
ERROR! The server quit without updating PID file (/usr/local/mysql/data/localhost.localdomain.pid).

本以为是没有找到这个localhost.localdomain.pid文件  结果一看真没有,实际上是权限的问题
到网上找了很多解决方案都试过,最后归根于要新建mysql用户
于是新建了个Mysql用户
并且执行 chown -R mysql.mysql .(我也不知道怎么回事 这样就好了)

 ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql  创建软链接,方便

第二个问题   以root用户登录  会出现这个
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) 

 

网上给出的很多例子是说给root用户设置密码。最终找到个解决方案

在mysql5.7以下的版本如下:
mysql> UPDATE user SET Password=PASSWORD('123456') where USER='root' and host='127.0.0.1' or host='localhost';
在mysql5.7版本如下:
update mysql.user set authentication_string=password('123456') where user='root' and host='127.0.0.1' or host='localhost';

 然后FLUSH PRIVILEGES;

看了下user表。我用的是5.7版本。当用第一句时候,会提示没有password这个字段。这是个值得注意的地方。

最后使用

grant all privileges on *.* to 'root'@'%' identified by '123456';
FLUSH PRIVILEGES;

可以使用netstat -anp|grep 3306 查看

就可以远程连接服务器上的数据库了。

https://jingyan.baidu.com/album/a378c9609eb652b3282830fd.html?picindex=3   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值