侧边栏壁纸
博主头像
AI研究僧

hycj89@163.com

  • 累计撰写 1,899 篇文章
  • 累计创建 179 个标签
  • 累计收到 1 条评论
标签搜索

目 录CONTENT

文章目录

centos7安装mysql5.7并设置远程访问权限和字符集

AI研究僧
2019-08-16 / 0 评论 / 0 点赞 / 329 阅读 / 634 字

0、下载mysql

mysql5.7下载地址 https://dev.mysql.com/downloads/mysql/5.7.html#downloads
Snipaste_2022-05-06_22-29-08

1、卸载mariadb

rpm -e --nodeps mariadb-libs

2、安装net-tools(安装server时会提示需要此工具)

yum install -y net-tools

3、安装mysql

mkdir mysqldir  # 解压mysql文件到这个目录,可自行设置解压位置
tar -xvf mysql-5.7.23-1.el7.x86_64.rpm-bundle.tar -C ./mysqldir/
cd mysqldir/
# 注意下边命令中的小版本号改为自己下载的版本
rpm -ivh mysql-community-common-5.7.23-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.23-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-5.7.23-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.23-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.23-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.23-1.el7.x86_64.rpm

4、配置mysql密码

service mysqld stop
vim /etc/my.cnf

在其中添加以下内容

# 先找到下边这句话,然后在其下添加
# Disabling symbolic-links is recommended to prevent assorted security risks
skip-grant-tables     # 添加这句话,这时候登入mysql就不需要密码
symbolic-links=0  # 原有的内容

开启mysql服务,无密码登录

service mysqld start
mysql -uroot -p  # 无需密码  enter即可

在mysql中执行以下命令:

flush privileges;  #更新权限
set password for root@localhost = password('abcd@1234');   # 为root指定密码为abcd@1234,具体密码自行设置
flush privileges;
exit;

再停止服务注释掉刚才添加的skip-grant-tables

service mysqld stop # 停止mysql服务, 恢复mysql配置
vim /etc/my.cnf     #修改配置文件,注释掉刚才添加的skip-grant-tables 
service mysqld start

此时即可带密码登录了

5、设置mysql开机自启:

systemctl enable mysqld
通过命令systemctl list-unit-files | grep mysql可以查看是否设置成功
Snipaste_2022-05-06_22-29-39

6、设置mysql允许远程访问

进入mysql

set global validate_password_policy=0;
set global validate_password_length=1; 密码长度 
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'abcd@1234' WITH GRANT OPTION;  
flush privileges;

7、防火墙开放mysql 3306端口

firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload

当然也可以关闭防火墙,命令systemctl stop firewalld

8、字符集设置

如果发现存入的中文字符变成了问号,需要修改默认字符集
进入mysql,使用show variables like ‘char%’; 查看默认字符集
character_set_server是latin1 ,需要将其修改成utf8
修改/etc/my.cnf 文件,添加如下内容
Snipaste_2022-05-06_22-29-48
可以自行改为utf8,然后重启mysql即可 service mysqld restart

博主关闭了所有页面的评论