centos mysql 安装
centos安装mysql5.7
安装包下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads
下载安装包:wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz
解压:tar -zxvf mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz
移动重命名:mv mysql-5.7.36-linux-glibc2.12-x86_64 /usr/local/mysql
创建mysql权限组和用户并修改权限:
groupadd mysql
useradd -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.0
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/data/mysql
socket=/tmp/mysql.sock
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
#character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true
进入mysql的bin目录
cd /usr/local/mysql/bin/
初始化
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize
先将mysql.server放置到/etc/init.d/mysql中
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
启动mysql
service mysql start
Starting MySQL. [ OK ]
[root@iZ2zeet2qekjwtnn7rziqjZ bin]# ps -ef|grep mysql
polkitd 15325 15305 0 2020 ? 03:25:14 mysqld
root 19276 1 0 15:04 pts/0 00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/data/mysql --pid-file=/data/mysql/mysql.pid
mysql 19503 19276 1 15:04 pts/0 00:00:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/mysql --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/data/mysql/mysql.err --pid-file=/data/mysql/mysql.pid --socket=/tmp/mysql.sock --port=3306
root 19538 18770 0 15:05 pts/0 00:00:00 grep --color=auto mysql
登录mysql
[root@iZ2zeet2qekjwtnn7rziqjZ bin]# ./mysql -u root -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
密码错误,登录不上,直接修改/etc/my.cnf,添加下面内容(当然我下载这个版本默认root密码为123456,到这已经完成安装,后面内容可以忽略)
skip-grant-tables=1 --无需权限登录
重启service mysql restart并登录
[root@iZ2zeet2qekjwtnn7rziqjZ bin]# ./mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.36 MySQL Community Server (GPL)
Copyright (c) 2000, 2021, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
这次成功了,接下来就是设置密码:
mysql> use mysql
mysql> UPDATE user SET authentication_string=PASSWORD("123456") WHERE user='root';
然后把之前的配置skip-grant-tables=1去掉,重新启动mysql
设置外网访问权限:
mysql> update mysql.user set host='%' where user='root';
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement
提示要修改密码:
mysql> alter user 'root'@'localhost' identified by '123456';
Query OK, 0 rows affected (0.01 sec)
修改完成后重新设置host
mysql> update mysql.user set host='%' where user='root';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
如果不希望每次都到bin目录下使用mysql命令则执行以下命令
ln -s /usr/local/mysql/bin/mysql /usr/bin
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!