linux安装mysql数据库
参考:https://blog.youkuaiyun.com/weixin_42734930/article/details/81743047
一.下载mysql压缩包
1.linux系统命令下载:
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
2.浏览器下载:
https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
二.开始安装
1.创建安装文件目录,上传mysql压缩包
#mkdir /data/software
#cd /data/software
将mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz上传至该目录
2.解压缩mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
# tar -xvf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
3.移动并且修改文件夹
# mv -v mysql-5.7.22-linux-glibc2.12-x86_64 /usr/lcoal/mysql
4.创建用户和用户组
# groupadd mysql
# useradd -r -g mysql mysql
**5.将安装目录所有者及所属组改为mysql **
# chown -R mysql.mysql /usr/local/mysql
6.在mysql目录下创建data文件夹
# mkdir data --此处的目录指的是/usr/local/mysql/下
7.初始化数据库
# /usr/local/mysql/bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data
如果出现以下错误是因为5.7版本的初始化命令后面要加 --initialize
# /usr/local/mysql/bin/mysqld --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data --initialize
如果还是报错可以执行下面命令,然后再执行上面数据库初始化的命令
# yum -y install numactl
# yum search libaio
# yum install libaio
8.完成初始化后编辑配置文件 /etc/my.cnf
[mysqld]
datadir=/usr/local/mysql/data
basedir=/usr/local/mysql
socket=/tmp/mysql.sock
user=mysql
port=3306
character-set-server=utf8
# 取消密码验证
skip-grant-tables
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# skip-grant-tables
[mysqld_safe]
log-error=/var/log/mysqld.log
9.将mysql加入到服务
# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
10.开机启动
# chkconfig mysql on
11.启动mysql
# service mysql start
12.出现报错
依次执行:
# mkdir /var/log/mariadb
# touch /var/log/mariadb/mariadb.log
# chown -R mysql:mysql /var/log/mariadb/
再次启动出现报错:
重命名或者删除/etc/my.cnf文件
# mv /etc/my.cnf demo.cnf
12.设置mysql密码(因为在配置文件取消了密码验证,可以直接回车键)
# mysql -u root -p 或者# /usr/local/mysql/bin/mysql -uroot -p
使用第二个命令是没有配置环境变量
执行报错
移动/usr/local/mysql/my.cnf 到 /etc/目录下重启
# mv /usr/local/mysql/my.cnf /etc/
# service mysql stop
# service mysql start
13.配置环境变量
# export PATH=$PATH:/usr/local/mysql/bin
14.操作数据库设置密码
# use mysql;
# update user set authentication_string=password('你的密码') where user='root';
# flush privileges;
# exit
密码修改后,通过修改后的密码连数据库,连接成功后发现操作不了数据库,执行下面操作:
15.将 /etc/my.cnf 中skip-grant-tables删除或注释掉
16.如果操作不了数据库可以再次修改下密码,具体什么原因我也不清楚
# mysql -u root -p
# alter user 'root'@'localhost' identified by'修改后的密码';
# exit
16.设置可以远程连接
# mysql -u root -p
# use mysql;
# update user set host='%' where user = 'root';
# flush privileges;
# exit