1.Mysql安装-下载mysql离线安装包
https://downloads.mysql.com/archives/community/
解压
tar -xvf 文件名
执行安装
rpm -Uvh *.rpm --nodeps --force
2. Mysql配置
2.1 首先关闭mysql服务:
service mysqld stop
2.2 然后修改配置文件:
vi /etc/my.cnf
2.3 接下来加入一句代码即可空密码登录mysql:
Disabling symbolic-links is recommended to prevent assorted security risks
skip-grant-tables
添加这句话,这时候登入mysql就不需要密码
symbolic-links=0
2.4 开启mysql服务:
service mysqld start
2.5 空密码登录mysql:
mysql -u root -p
#输入命令回车进入,出现输入密码提示直接回车
2.6 设置mysql密码:
mysql> set password for root@localhost = password('123456');
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
mysql> flush privileges; #更新权限
Query OK, 0 rows affected (0.00 sec)
mysql> set password for root@localhost = password('123456');
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql>flush privileges; #更新权限
mysql>quit; #退出
service mysqld stop # 停止mysql服务, 恢复mysql配置
vim /etc/my.cnf #修改配置文件
# Disabling symbolic-links is recommended to prevent assorted security risks
# skip-grant-tables # 注释掉这句话
symbolic-links=0
service mysqld start # 启动mysql服务
mysql -uroot -p # 输入新密码登录
2.7 设置mysql开机自启
systemctl enable mysqld
3. mysql配置远程连接
3.1赋予某个用户权限
赋予权限格式:grant 权限 on 数据库对象 to 用户@IP(或者相应正则)
注:可以赋予select,delete,update,insert,index等权限精确到某一个数据库某一个表。
GRANT ALL PRIVILEGES ON *.* TO '用户名'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;
这里表示赋予该用户所有数据库所有表(*.*表示所有表),%表示所有IP地址。
刷新权限:
flush privileges;
3.2 防火墙添加3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent;
开启防火墙:
systemctl start firewalld
防火墙的原因:
可能会报:ERROR 2003 (HY000): Can't connect to MySQL server on '你要连接的IP' (111)。
关闭防火墙
连接成功后,再开启防火墙