mysql 8 的安装部署

公司最新的项目用到了mysql 8,安装和部署在阿里云上,系统是centos7。最近这两年我的思路从网上搜索别人的文章,转变为以官网为主,查官网资料解决问题,以百度为最后一步,因为像mysql这么庞大的产品,和系统的关联很紧密,而且文档非常的复杂,所以前人踩过的坑值得借鉴。

contos7默认安装了mariadb数据库,这里把他移除:卸载yum remove mariadb-libs.x86_64

官网安装步骤:

依赖libaio,先安装 libaio 

shell> yum search libaio  

shell> yum install libaio

 

shell> groupadd mysql  --设置mysql用户组

shell> useradd -r -g mysql -s /bin/false mysql --加入mysql用户

shell> cd /usr/local

shell> tar xvf /path/to/mysql-VERSION-OS.tar.xz --解压mysql到本路径

shell> ln -s full-path-to-mysql-VERSION-OS mysql --软连接

shell> cd mysql

shell> mkdir mysql-files

shell> chown mysql:mysql mysql-files

shell> chmod 750 mysql-files --权限,操作日志等

shell> bin/mysqld --initialize --user=mysql --初始化数据库,注意初始密码要记录下来

 

下面这两步是mysql的ssl认证方式,在我们使用中不需要这种方式,所以就不执行

shell> bin/mysql_ssl_rsa_setup 

shell> bin/mysqld_safe --user=mysql &

 

注册server服务,使用服务命令启动

shell> cp support-files/mysql.server /etc/init.d/mysql.server

service mysqld start

 

官网中默认方式没有使用配置文件,我在/etc文件下看到my.cnf.rpmsave文件,复制为my.cnf 文件,里面可以修改data路径,log路径等。

创建用户

create user 'username'@'localhost' identified by 'password';

授权所有权限

grant all privileges on database_name.* to 'username'@'localhost';

刷新权限

flush privileges;

 

操作中遇到的问题:

  • [root@iZbp198h7llwft78a5652vZ mysql]# bin/mysqld –-initialize -–user=mysql -–basedir=/usr/local/mysql –-datadir=/data/mysql

mysqld: File './binlog.index' not found (OS errno 13 - Permission denied)

2019-12-12T11:35:44.584067Z 0 [Warning] [MY-011070] [Server] 'Disabling symbolic links using --skip-symbolic-links (or equivalent) is the default. Consider not using this option as it' is deprecated and will be removed in a future release.

2019-12-12T11:35:44.584193Z 0 [System] [MY-010116] [Server] /usr/local/src/mysql-8.0.18-linux-glibc2.12-x86_64/bin/mysqld (mysqld 8.0.18) starting as process 26921

2019-12-12T11:35:44.587294Z 0 [ERROR] [MY-010119] [Server] Aborting

2019-12-12T11:35:44.587500Z 0 [System] [MY-010910] [Server] /usr/local/src/mysql-8.0.18-linux-glibc2.12-x86_64/bin/mysqld: Shutdown complete (mysqld 8.0.18)  MySQL Community Server - GPL.

  • /etc/my.cnf 下的log文件地址

inux下安装mysql连接的时候经常回提示说找不到mysql.sock文件,解决办法很简单:

如果是新安装的mysql,提示找不到文件,就搜索下,指定正确的位置

  • [root@iZbp198h7llwft78a5652vZ support-files]# service mysqld start

Starting MySQL. ERROR! The server quit without updating PID file (/data/mysql/iZbp198h7llwft78a5652vZ.pid).

这个问题折磨了很久,pid文件找不到,修改不了这个文件。新建一个pid文件,一运行命令就会删除此文件。最后发现是log文件夹的权限问题,设置为mysql组,750操作权限后就可以了。

  • linux环境下报错bash: mysql: command not found 的解决方法

# mysql -u root

-bash: mysql: command not found

原因:这是由于系统默认会查找/usr/bin下的命令,如果这个命令不在这个目录下,当然会找不到命令,我们需要做的就是映射一个链接到/usr/bin目录下,相当于建立一个链接文件。

首先得知道mysql命令或mysqladmin命令的完整路径,比如mysql的路径是:/usr/local/mysql/bin/mysql,我们则可以这样执行命令:

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

  • 刚刚安装完成MYSQL,登录进去以后,什么操作都提示错误,ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

这是说明我们的初始密码时间过期了,重新改一下密码就行

alter user user() identified by "你的新密码";

总结:

根据官网的步骤来可以梳理清晰思路,每一步搞清楚是什么意思,遇到问题多查资料,多测试。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值