在Linux上安装MySql
1.下载安装
1.1)使用xftp将安装包上传到linux上
1.2)解压
- 输入解压命令
tar -zxvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
1.3)移动
-移动到/usr/local/mysql
路径下,mysql文件中:
mv mysql-5.7.26-linux-glibc2.12-x86_64 /usr/local/mysql
2.创建用户组
groupadd mysql
useradd -r -g mysql mysql
2.1)创建数据目录并赋予权限
mkdir -p /data/mysql #创建目录
chown mysql:mysql -R /data/mysql #赋予权限
3.配置my.cnf
- vi /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
4.初始化数据库
- 进入mysql的bin目录
- 初始化命令
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize
5.查看密码
- 进入
/data/mysql
目录,查看mysql.err
文件,查看初始密码
cat /data/mysql/mysql.err
6.启动mysql
-先将mysql.server
放置到/etc/init.d/mysql
中
cp /usr/local/mysql/mysql-5.7.26-linux-glibc2.12-x86_64/support-files/mysql.server /etc/init.d/mysql
- 启动
service mysql start
注意:(遇到问题)
- 发现是配置文件路径和mysql安装路径名称不一致
- 进入
vi /etc/my.cnf
- 修改basedir文件路径
- 进入
- 查看mysql进程
ps -ef|grep mysql
7.修改mysql密码
-bin目录下输入命令
./mysql -u root -p
输入随机密码Yhh%Tk+)e4Uk,登录
-再执行下面三步操作,然后重新登录。
SET PASSWORD = PASSWORD('123456');
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
FLUSH PRIVILEGES; //刷新
8.远程连接数据库
- 此时连接数据库报错,无法连接
- 此时操作下面三个步骤
use mysql #访问mysql库
update user set host = '%' where user = 'root'; #使root能再任何host访问
FLUSH PRIVILEGES; #刷新
-
用navicat连接mysql时,报错
问题分析:发现是防火墙未关闭; -
解决方法:
//这里发现防火墙是开启的,再来查看防火墙控制的端口
systemctl status firewalld
//查看防火墙控制的端口,发现我想要监听的8081端口没有开启
firewall-cmd --list-all
//永久开启3306端口
sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent
//重载防火墙
sudo firewall-cmd --reload
此时navicat连接mysql成功!