linux下安装mysql(一)
引言
今天要在linux上安装mysql,也是踩了很多坑才安装成功,话不多说,直接上教程
同时也分享一些原博主的安装教程,这里我也是照着安装的,但是我碰到很多博主没有碰到的问题
原博客:https://blog.csdn.net/qq_37598011/article/details/93489404
安装mysql
下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads
这里大家选择这一个就可以了,不用参考其他的,因为有很多deb格式的文件
解压
tar -xvf mysql-5.7.26-linux-glibc2.12-x86_64.tar
移动重命名一下
mv mysql-5.7.26-linux-glibc2.12-x86_64 /usr/local/mysql
创建 mysql用户组和用户并修改权限
groupadd mysqluseradd -r -g mysql mysql
创建数据目录并赋予权限
mkdir -p /data/mysql #创建目录chown mysql:mysql -R /data/mysql#赋予权限
配置my.cnf
vim /etc/my.cnf
内容如下
[mysqld]bind-address=0.0.0.0port=3306user=mysqlbasedir=/usr/local/mysqldatadir=/data/mysqlsocket=/tmp/mysql.socklog-error=/data/mysql/mysql.errpid-file=/data/mysql/mysql.pid#character configcharacter_set_server=utf8mb4symbolic-links=0explicit_defaults_for_timestamp=true
初始化数据库
cd /usr/local/mysql/bin/./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initializecat /data/mysql/mysql.err# 查看密码
在执行第二步时可能会有一个报错提示,缺少libaio依赖。选择自己的linux版本进行安装即可,安装完成在执行第二句,这里记住随机密码,因为后面有坑可能会让你重启服务器/虚拟机
yum -y install libaio* libaio-dev*#centosapt-get -y install libaio* libaio-dev*#ubuntu
启动mysql,并更改root密码
先将mysql.server放置到/etc/init.d/mysql中
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
启动!!!!
service mysql start #这一步应该会报错 ps -ef|grep mysql
报错代码如下:,Failed to start mysql.service: Unit mysql.service not found
这里需要重启服务器就好了,至少我是这么办到的,如果不行就只能另找其他办法了
如果这里输入两行代码linux没有返回也没关系,我的实际是开启了但是没有succeed提示,有下面的图就说明mysql安装成功了
下面修改密码,因为我们上面已经切换到bin目录下了,直接运行mysql
./mysql -u root -p#bin目录下
再执行下面三步操作,在使用quit退出
SET PASSWORD = PASSWORD('123456');ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;FLUSH PRIVILEGES;
这里修改密码也有一个坑,就是报错: ERROR 1054(42S22) Unknown column 'password' in 'field list'
原因: 5.7版本下的mysql数据库下已经没有password这个字段了,password字段改成了authentication_string;
应该使用:mysql> update user set authentication_string=password(“新密码”) where user=”用户名”;
这时候你如果使用远程连接,你会发现你无法连接,继续执行下面的操作
use mysql#访问mysql库update user set host = '%' where user = 'root'; #使root能再任何host访问FLUSH PRIVILEGES;
这里如果还连接不上,多半是因为要远程开发端口,重启防火墙,这里可能需要安装firwall,直接安装即可:apt install firewall
firewall-cmd --zone=public --add-port=3306/tcp --permanentfirewall-cmd --reload
这里如果连接mysql报错10060可以看下这里的解决方案
https://www.cnblogs.com/mmzs/p/9201558.html
为了防止版本不同而导致安装失败……这里我把MySQL的包放在百度云上。
链接: https://pan.baidu.com/s/1oZLaBAELK9tuB1FCfQfzUg 提取码: mvji 复制这段内容后打开百度网盘手机App,操作更方便哦
作者:极客海
来源链接:https://www.cnblogs.com/cheneyboon/p/14672581.html
版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。
2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。