环境和版本
Linux:CentOS 8
Mysql:8.0.20
一、在linux系统的/usr/local目录下创建mysql文件夹
切换目录:cd /usr/local
创建文件夹:mkdir mysql
二、下载安装包
1、切换目录到mysql文件夹:cd mysql
2、下载安装包:wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz
二、解压安装包并重命名文件夹
1、解压文件:tar xvJf mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz
2、重命名文件:mv mysql-8.0.20-linux-glibc2.12-x86_64 mysql-8.0.20
三、切换到mysql-8.0.20目录并创建data文件夹
1、切换目录:cd mysql-8.0.20
2、创建data文件夹:mkdir data
四、创建用户组/添加用户/授权用户组
1、创建用户组:groupadd mysql
2、添加用户组:useradd -g mysql mysql
3、授权用户组:chown -R mysql.mysql /usr/local/mysql/mysql-8.0.20
五、切换到bin目录下并初始化基础信息
1、切换到mysql-bin目录
2、初始化基本信息:./mysqld --user=mysql --basedir=/usr/local/mysql/mysql-8.0.20 --datadir=/usr/local/mysql/mysql-8.0.20/data/ --initialize
此次初始化时由于安装的时候依赖包不完全,会提示依赖包不存在,如下图
解决libaio.so.1包不存在方案:yum install bibaio-devel.x86_64
安装完成后切换到bin目录再次初始化即可成功,并且返回初始密码,需要把密码拷贝记录,用于后面登录数据库.
六、编辑my.cnf文件
1、使用vim编辑器,编辑配置文件:vim /etc/my.cnf
修改内容:
basedir=/usr/local/mysql/mysql-8.0.20/
datadir=/usr/local/mysql/mysql-8.0.20/data/
socket=/tmp/mysql.sock
character-set-server=UTF8MB4
symbolic-links=0
注:
1、basedir和datadir需要根据mysql安装位置自行修改路径;
2、按i进入insert编辑模式;按ctrl+c或esc 再敲:wq即退出并保存,只想退出不保存敲:q;
3、[mysqld]不能缺失且不能写成[mysql] ;
七、添加mysqld服务到系统(在mysql-8.0.20文件下执行)/授权以及添加服务
添加mysqld服务到系统时会提示找不到启动文件
解决方案:先去查找启动文件:ls /etc/rc.d/init.d在执行,并且安装maridb(若没有)依赖包。
安装完成maridb依赖包后,启动时可能会提示报错mysqld_safe error: log-error set to ‘/var/log/mariadb/mariadb.log‘错误,原因是因为没有路径也没有权限,所以创建此路径并授权给mysql用户。
解决方案:
执行命令:
1、mkdir /var/log/mariadb
2、touch /var/log/mariadb/mariadb.log
3、chown -R mysql:mysql /var/log/mariadb/
4、最后执行启动文件命令:sudo /etc/rc.d/init.d/mysql start
再次启动时,提示mysqld_safe directory '/var/lib/mysql' for unix socket file don't exists
解决方案:创建对应的文件夹
八、将mysql命令添加到服务
命令:ln -s /usr/local/mysql/mysql-8.0.20/bin/mysql /usr/bin
九、登录Mysql
执行登录命令:mysql -uroot -p
可能会出现:Can ‘t connect to local MySQL server through socket ‘/tmp/mysql.sock ‘(2) “,原因可能是找不到mysql.sock文件
解决方案:
1、找到mysql.sock所在的目录:find / -name mysql.sock
2、建立mysql.sock软连接到文件上
3、重新登录成功
十、修改初始密码(自定义)
初始化密码:ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '密码';
立即生效:flush privileges;
十一、修改远程连接生效
1、查看所有数据库:show databases;
2、选择数据库:use mysql;
3、更新远程连接生效:update user set host='%' where user='root';
4、使设置立即生效:flush privileges;
十二、Navicat 远程连接测试
参考地址:https://blog.csdn.net/qq_44146008/article/details/125033197,虽然有参考文章,由于第一次安装mysql,在安装过程中并没有那么一帆风顺,出现了依赖包不存在、文件找不到、软连接各种问题,再此记录下来希望可以帮到需要的同学。
标签:8.0,20,log,local,Mysql,Linux,usr,mysql,安装 From: https://www.cnblogs.com/chj929555796/p/16955282.html