Mysql是开发的必备工具和技能,本文手把手教你如何在Linux系统上安装Mysql。
下载mysql软件包
我们选择 5.7.20 版本,这里按照需求自行选择:
找到 64 位安装包,点击下载:
安装软件包
一般习惯安装在
/usr/local目录下
解压tar包
# -C 指定安装目录tar zxvf mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz -C /usr/local/# 改名mv mysql-5.7.20-linux-glibc2.12-x86_64 mysql-5.7.20
添加用户组和用户
#添加用户组 groupadd mysql #添加用户mysql 到用户组mysql useradd -g mysql mysql创建日志目录
mkdir /var/log/mariadb touch /var/log/mariadb/mariadb.log chown -R mysql:mysql /var/log/mariadb/ mkdir /var/run/mariadb chown -R mysql:mysql /var/run/mariadb/创建数据目录
cd /usr/local/mysql-5.7.20 mkdir -p ./data/mysql更改用户和组
chown -R mysql:mysql /usr/local/mysql-5.7.20安装和初始化数据库
./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql-5.7.20 --datadir=/usr/local/mysql-5.7.20/data/mysql如果执行报下面错误:
解决方案:MySQL依赖于libaio 库,需要安装libaio。 执行:yum install libaio -y 然后再执行上面的命令
看到下面输出说明安装/初始化数据库成功!
上面圈的是root用户的临时密码
添加到MySQL启动脚本到系统服务
cp support-files/mysql.server /etc/init.d/mysqld chmod 755 /etc/init.d/mysqld这样系统启动后,会自动启动mysql服务。
修改配置
# 修改 /etc/init.d/mysqld basedir=/usr/local/mysql-5.7.20 datadir=/usr/local/mysql-5.7.20/data/mysql```shell
修改 /etc/my.cnf
basedir=/usr/local/mysql-5.7.20 datadir=/usr/local/mysql-5.7.20/data/mysql socket=/tmp/mysql.sock port=3306 server_id=100 [client] default-character-set=utf8 socket=/tmp/mysql.sock
[mysql] default-character-set=utf8 socket=/tmp/mysql.sock

- 启动服务
```shell
service mysqld start
测试连接
执行: ./mysql -uroot
出现权限问题:
解决方案:
- 使用初始化过程的临时密码进入

- 如果忘记初始密码,可以通过修改root的初始密码。进入,修改
my.cnf加入skip-grant-tables
配置客户端坏境变量
#########mysql config start##########
export PATH=$PATH:/usr/local/mysql-5.7.20/bin
#########mysql config end##########
注意点
- 如果通过临时密码登陆是不能做操作的会报如下错误:

需要重新设置密码:
ALTER USER 'root'@'localhost' identified by 'xxxx'; # 设置密码
flush privileges; # 刷新权限
- 权限控制
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'xxxx' WITH GRANT OPTION; # 密码:xxxx,自行修改注意⚠️:如果上面执行报错先刷新一下权限

删除多余用户记录:
delete from user where host != '%';
flush privileges;


