mysql下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads
解压命令
tar -xvf mysql-5.7.26-linux-glibc2.12-x86_64.tar
移动并重命名
mv mysql-5.7.26-linux-glibc2.12-x86_64 /usr/local/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
:wq
:wq保存并退出
初始化数据库
进入bin目录
cd /usr/local/mysql/bin/
初始化命令
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize
查看密码
cat /data/mysql/mysql.err
先将mysql.server放置到/etc/init.d/mysql中
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
启动
service mysql start
ps -ef|grep mysql
上图说明安装成功
接下来修改密码
./mysql -u root -p #bin目录下登录
执行下面三步,将密码修改为123456
SET PASSWORD = PASSWORD('123456');
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
FLUSH PRIVILEGES;
此时使用远程连接,会报错
执行下列三步
use mysql #访问mysql库
update user set host = '%' where user = 'root'; #使root能再任何host访问
FLUSH PRIVILEGES; #刷新
若还无法连接,则可能是防火墙原因
使用下列命令:
firewall-cmd --zone=public --add-port=3306/tcp --permanent(3306填写端口号)
重启防火墙:
systemctl restart firewalld
连接成功