1 下载mysql安装包(免费社区版)
2 安装
2.1 解压
cd /home/mhp/files
tar -zxvf mysql-8.0.18-linux-glibc2.12-x86_64.tar.xz
2.2 移动到相应目录
mv /home/mhp/files/mysql-8.0.18-linux-glibc2.12-x86_64 /usr/local
2.3 重命名
cd /usr/local
mv ./mysql-8.0.18-linux-glibc2.12-x86_64 mysql
2.4 创建数据文件夹
cd /usr/local/mysql
mkdir data
2.5 创建用户及用户组
用户组:
groupadd mysql
用户:
useradd -g mysql mysql
2.6 授权
此步骤十分重要 网上好多其他教程都是授权到data文件夹,导致无法启动
chown -R mysql.mysql /usr/local/mysql
2.7 配置文件
在mysql 8.0开始,忽略表名大小写的配置在数据库初始化后无法更改了,所以要提前增加配置
vim /etc/my.cnf
在my.cnf中增加以下配置
[client]
port = 3306
socket = /tmp/mysql.sock
[mysqld]
server-id = 1
basedir = /usr/local/mysql
datadir=/usr/local/mysql/data
bind-address = 0.0.0.0 # 表示允许任何主机登陆MySQL
port=3306 # 表示MySQL运行端口为3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
symbolic-links=0
max_connections=400
innodb_file_per_table=1
lower_case_table_names=1
log-error = /usr/local/mysql/data/error.log #添加
tmpdir = /var/tmp #不建议放在/tmp下
log-error = /usr/local/mysql/data/error.log
pid-file = /usr/local/mysql/data/mysql.pid
[mysqld_safe]
log-error=/var/log/mysqld.log
max_allowed_packet=20M
2.8 初始化mysql
cd /usr/local/mysql
./bin/mysqld --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --initialize
此时会生成一个临时密码,一定要牢记,下一步修改密码是会用到
如果没有生成信息,那么需要到cat /usr/local/mysql/data/error.log中寻找临时密码
2.9 启动mysql服务
通过service mysql start启动
查找mysql.server服务路径 find / -name "mysql.server"
用找到的地址$path执行 cp $path /etc/init.d/mysql
启动 service mysql start
2.10 修改密码登录 mysql -uroot -p
输入上面步骤的临时密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
FLUSH PRIVILEGES;
2.11 解决无法远程登录
查找原因:登录 mysql -uroot -p
use mysql;
查看root用户host:select host from user where user='root';发现只能通过localhost登录,需要改成任意地址%
update user set host = '%' where user ='root';
刷新配置flush privileges;